Я работаю над MapBoxgl и хочу добавить местоположение ресторана в качестве маркера.
Вот мой индекс. html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Com Viet</title>
<!-- Font Awesome -->
<script src="https://kit.fontawesome.com/e3c287111d.js" crossorigin="anonymous"></script>
<!-- CSS Stylesheet -->
<link rel="stylesheet" href="/Styles/style.css">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Oswald:500,700|Roboto+Condensed:300,400,600" rel="stylesheet">
<!-- Mapbox API -->
<script src='https://api.mapbox.com/mapbox-gl-js/v1.8.1/mapbox-gl.js'></script>
<link href='https://api.mapbox.com/mapbox-gl-js/v1.8.1/mapbox-gl.css' rel='stylesheet' />
<!-- Mapbox Geocode -->
<script src='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v4.2.0/mapbox-gl-geocoder.min.js'></script>
<link rel='stylesheet' href='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v4.2.0/mapbox-gl-geocoder.css' type='text/css'/>
</head>
<body>
<section id="map">
<h1>Find Us</h1>
</section>
<script src="app.js"></script>
</body>
</html>
Это приложение . js:
mapboxgl.accessToken = 'pk.eyJ1IjoibWlvY2h1bmc3IiwiYSI6ImNrOG13cXoxbDA2c2UzbW1lcm1iZWZ5NnEifQ.5nuyV8naVrjogYKyx_TFzw';
const map = new mapboxgl.Map({
container: 'map', //appears in the container with the ID map
style: 'mapbox://styles/mapbox/streets-v11',
center: [-0.1103, 51.5082], // Starting position [lng, lat]
zoom: 11.89, // [Starting zoom]
});
// Custom Marker
var marker = new mapboxgl.Marker() // initialize a new marker
.setLngLat([-0.1103, 51.5082]) // Marker [lng, lat] coordinates
.addTo(map); // Add the marker to the map
// Geocode
var geocoder = new MapboxGeocoder({ // Initialize the geocoder
accessToken: mapboxgl.accessToken, // Set the access token
mapboxgl: mapboxgl, // Set the mapbox-gl instance
marker: false, // Do not use the default marker style
placeholder: '',
proximity: {
longitude: -0.1103,
latitude: 51.5082
}
});
// Add the geocoder to the map
map.addControl(geocoder);
CSS:
#map {
width: 100%;
height: 500px;
}
mapboxgl.accessToken = 'pk.eyJ1IjoibWlvY2h1bmc3IiwiYSI6ImNrOG13cXoxbDA2c2UzbW1lcm1iZWZ5NnEifQ.5nuyV8naVrjogYKyx_TFzw';
const map = new mapboxgl.Map({
container: 'map', //appears in the container with the ID map
style: 'mapbox://styles/mapbox/streets-v11',
center: [-0.1103, 51.5082], // Starting position [lng, lat]
zoom: 11.89, // [Starting zoom]
});
// Custom Marker
var marker = new mapboxgl.Marker() // initialize a new marker
.setLngLat([-0.1103, 51.5082]) // Marker [lng, lat] coordinates
.addTo(map); // Add the marker to the map
// Geocode
var geocoder = new MapboxGeocoder({ // Initialize the geocoder
accessToken: mapboxgl.accessToken, // Set the access token
mapboxgl: mapboxgl, // Set the mapbox-gl instance
marker: false, // Do not use the default marker style
placeholder: '',
proximity: {
longitude: -0.1103,
latitude: 51.5082
}
});
// Add the geocoder to the map
map.addControl(geocoder);
#map {
width: 100%;
height: 500px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Com Viet</title>
<!-- Font Awesome -->
<script src="https://kit.fontawesome.com/e3c287111d.js" crossorigin="anonymous"></script>
<!-- CSS Stylesheet -->
<link rel="stylesheet" href="/Styles/style.css">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Oswald:500,700|Roboto+Condensed:300,400,600" rel="stylesheet">
<!-- Mapbox API -->
<script src='https://api.mapbox.com/mapbox-gl-js/v1.8.1/mapbox-gl.js'></script>
<link href='https://api.mapbox.com/mapbox-gl-js/v1.8.1/mapbox-gl.css' rel='stylesheet' />
<!-- Mapbox Geocode -->
<script src='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v4.2.0/mapbox-gl-geocoder.min.js'></script>
<link rel='stylesheet' href='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v4.2.0/mapbox-gl-geocoder.css' type='text/css'/>
</head>
<body>
<section id="map">
<h1>Find Us</h1>
</section>
<script src="app.js"></script>
</body>
</html>
Это первое изображение до увеличения Это второе изображение после увеличения
Я не уверен, что является причиной проблемы. Кроме того, окно поиска как-то кажется над картой, а не внутри нее.