首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

mapapi中关于GClientGeocoder.getLatLng的用法

2013-01-09 
地图api中关于GClientGeocoder.getLatLng的用法本帖最后由 mz02005 于 2011-08-24 16:19:40 编辑这个函数

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

代码基本上是下面的:


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会返回多个结果。

热点排行