2010-05-29 51 views
3

我正在将我的代码从Google Map API V2升级到V3。 在V2中,我使用GlocalSearch获取给定地址的经度和纬度。Google地图API V3地理编码器未显示正确位置

在V3中,我看到了google.maps.Geocoder()并尝试获取类似的细节。然而,由V3函数给出的长度不准确。

请参见下面的截图在这里: Wrong http://img340.imageshack.us/img340/477/wronga.jpg Correct http://img413.imageshack.us/img413/5899/correct.jpg

我的V3代码如下:

var geocoder = new google.maps.Geocoder(); 
function codeAddress(address) { 
    if (geocoder) 
    { 
     address = address + ", UK"; 

     geocoder.geocode({ 'address': address}, function(results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       var latlng = results[0].geometry.location;    
       addMarker(latlng); //Adding Marker here    
      } else { 
       alert("Geocode was not successful for the following reason: " + status); 
      } 
     }); 
    } 
} 

有没有更好的方式来获得准确的结果API V3?谢谢。

+0

我注意到,在V3中,当我搜索一个企业时,它只是把我带到了APPROXIMATE位置(至少从我在哪里,菲律宾)。由于我无法让V3和Localsearch一起工作,我决定改用V2和Localsearch。我使用了V2地理编码,然后使用了Localsearch来显示标记。 – wenbert 2010-08-10 15:36:00

回答

0

记录位置属性的值并检查坐标是否正确。

发布addMarker方法代码。

0

另一种选择是调用Web服务,该服务将生成JSON或XML格式的结果,然后您可以制定这些结果以获得所需的位置。谷歌地图上有很多例子v3文档

相关问题