Mapbox GL JS:通过地理位置控制控制最大缩放



我正在使用Mapbox GL JS v0.32.1,我的地图上有一个地理位置控件。

我想使用户地理定位时的最大缩放比例为 8,以便地图缩放到用户的大致位置,而不是街道位置。

根据文档,应该有一个可用的geolocate事件,但这对我不起作用:

var geoLocate = map.addControl(new mapboxgl.GeolocateControl());
geoLocate.on('geolocate', function(e) {
    console.log('geolocated');
    map.setZoom(8);
})

地理定位(至少在 Chrome 中(仍然会缩放到可用的最大缩放级别,并且发生时我没有看到控制台日志消息。

Map#addControl 返回Mapgeolocate事件在 GeolocateControl 上触发。以下方法应该有效:

var geoLocate = new mapboxgl.GeolocateControl();
map.addControl(geoLocate);
geoLocate.on('geolocate', function(e) {
    console.log('geolocated');
    map.setZoom(8);
});

试试这种方式。 平滑缩放到您的位置

var geoLocate = new mapboxgl.GeolocateControl();
map.addControl(geoLocate);
geoLocate.on('geolocate', function(e) {
   map.flyTo({
    center:[e.coords.longitude, e.coords.latitude], 
    zoom:16 //set zoom 
  });
});

最新更新