繁体   English   中英

Google Maps API:radarSeach,其地图边界在外部返回结果

[英]Google Maps API: radarSeach with map bounds returning results outside

我有以下代码:

google.maps.event.addListener(map, 'idle', function() {
    var request = {
        bounds: map.getBounds(),
        keyword: selected_provider //some value
    };

    service.radarSearch(request, function(results, status) {

        for (var i = 0; i < results.length; i++) {
            var marker = new google.maps.Marker({
                position: results[i].geometry.location,
                map: map
            });
        });

    });

});

在某些情况下,结果数组具有某些位置,这些位置的标记被打印在地图范围之外。

map.getBounds()返回此:

oh {Da: mh, va: hh}
Da: A: -23.53883129305287 j: -23.53223111409202
va: A: -46.6811610542145 j: -46.686782964309714

一定的结果:

A: -23.536062
F: -46.68732699999998

因此,F(经度)不在西南和东北经度之内。

有人看过吗?

如这里解释

https://code.google.com/p/gmaps-api-issues/issues/detail?id=8340

“用于搜索位置时用于使结果产生偏差的边界(可选)。如果设置了边界,则位置和半径都将被忽略。结果将不限于这些边界内的结果;但是,结果内的结果将排名更高。”

对我来说,以界限作为参数执行搜索没有任何意义,并且响应的结果超出界限。 我认为我唯一能做的就是在显示结果之前对结果数组进行迭代,并检查每个项目是否在范围之内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM