读书人

地图api中关于GClientGeocoder.getLat

发布时间: 2012-05-09 12:13:59 作者: rapoo

地图api中关于GClientGeocoder.getLatLng的用法
这个函数返回的经纬度数据好像不是很准确,比如我搜索上海的某小区,名为‘英伦风尚’,在ditu.google.com上搜索是正确的,但是该返回找不到。搜索有些位置返回的纬度竟然是7.XX。晕啊,跑赤道去了。如果我在所有搜索的位置前加上‘上海’,则搜索总是能够返回结果。但是原先那些找不到的位置返回的结果是相同的。不知道是为什么。

代码基本上是下面的:

JScript code
var pos = new GClientGeocoder();            pos.getLatLng("英伦风尚", function(result) {                if (result != null) {                     ......                }else { }            );


此时回调函数result参数就是null

[解决办法]
Google API 对这个函数是这样解释的:向 Google 服务器发送请求,对指定的地址进行地址解析。如果地址已成功定位,则用 GLatLng 点调用用户指定的回调函数。否则,向回调函数提供一个 null 点。如果地址不明确,则仅向回调函数传递最匹配的点。

所以出现你这种情况很正常。你要想下,Google地图的数据有多少???你输入的地址只是个小小的小区,搜不到很正常,而且同名的地址不少吧?Google地图是很强悍,但是还没强悍到那种地步。。。

楼主现在还在用Google Map V2,现在Google Map V3已经早出来了,把你地图升升级吧。新的API会返回多个结果。

读书人网 >网络基础

热点推荐