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

Другие вопросы по тегам