【问题标题】:Mapbox geocoder results don't always have boundsMapbox 地理编码器结果并不总是有界限
【发布时间】: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/

复制

  1. 搜索“波士顿”并注意控制台。结果将有界限。自定义“选择”事件处理程序将触发
  2. 搜索“Topsail NC”。没有界限的结果。自定义“选择”事件处理程序不会触发。

【问题讨论】:

    标签: javascript mapbox


    【解决方案1】:

    这是一个错误报告吗?该地理编码 API 是 in beta。您可能希望将您的发现报告给 support@mapbox.com。

    【讨论】:

    • 我没有意识到它处于测试阶段。感谢您提供信息和帮助 incanus。我也发送了一份副本来支持。 Mapbox 网站建议将问题发布到 stackoverflow。我怀疑我做错了什么。但是,是的,我越想它,这绝对是一个错误。
    【解决方案2】:

    这已在 Mapbox.js 1.6.2 中得到修复。

    https://github.com/mapbox/mapbox.js/issues/702

    【讨论】:

    • 感谢您的提醒!我也收到了支持的回复。现在我很期待使用 Mapbox :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多