【发布时间】:2014-04-04 17:51:41
【问题描述】:
我一直在一个具有地理编码功能的项目中使用 Mapbox。有时来自地理编码器的结果不会定义边界。一旦用户从地理编码器的菜单中选择一个位置就会触发的事件处理程序会尝试在这些边界上缩放+居中。
预期的结果是至少将地图居中放置在始终可用的可用纬度上。
实际结果是什么都没有发生。事实上,Mapbox 会抛出一个错误,因为这个错误,我自己的 select 事件处理程序也不会触发。
// Mapbox vars
var map, geocoder;
// Event handlers
function foundHandler(args){
console.group('found');
console.log(args);
console.groupEnd();
}
function selectHandler(args){
console.group('select');
console.log(args);
console.groupEnd();
}
// Init Mapbox
geocoder = L.mapbox.geocoder('examples.map-vyofok3q');
map = L.mapbox.map('map', 'examples.map-9ijuk24y')
.addControl(
L.mapbox.geocoderControl('examples.map-vyofok3q', {})
.on('found',foundHandler)
.on('select',selectHandler)
);
http://jsfiddle.net/rgbk/rCjS4/1/
复制
- 搜索“波士顿”并注意控制台。结果将有界限。自定义“选择”事件处理程序将触发
- 搜索“Topsail NC”。没有界限的结果。自定义“选择”事件处理程序不会触发。
【问题讨论】:
标签: javascript mapbox