Leaflet/mapbox: Геолокация увеличить
Я использую геолокацию на своей карте, и я не могу понять, как установить уровень масштабирования, когда геолокация найдена. Мой код выглядит так:
if (!navigator.geolocation) {
geolocate.innerHTML = 'Geolocation is not available';
} else {
geolocate.onclick = function (e) {
var tl = new TimelineMax({repeat:2});
tl.to("svg.pointwhite", .10, {transformOrigin: "50% 100%", scaleY:0.25, yoyo:true, repeat:1})
.to("svg.pointwhite", .65, {y:-6, ease:Circ.easeOut, yoyo:true, repeat:1});
e.preventDefault();
e.stopPropagation();
map.locate();
};
}
Это внутри map.locate
Вы устанавливаете уровень масштабирования? Я пробовал это конечно и потерпел неудачу. Как всегда, я очень ценю любую помощь, которую вы, ребята, можете оказать.
2 ответа
При использовании Leaflet я использую map.setView()
, Вот мой код навигатора Leaflet:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
latlng: {lat:position.coords.latitude,lng:position.coords.longitude},
lat:position.coords.latitude,
lng:position.coords.longitude
};
addMarker(pos);
map.setView(L.latLng(pos.lat, pos.lng),13);
});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
Смотрите эту ссылку.
При использовании locate()
метод, вы можете дать ему Locate options
объект. Это может содержать maxZoom
имущество:
map.locate({maxZoom: 18});
Но кажется, что вы не можете указать вид minZoom