在geocoder.geocode()中发布以获取经度和纬度。

2020-08-18 06:47发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我需要在Googl...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我需要在Google地图上将位置显示为标记,并且地址来自背面。

现在,我已经使用for循环来逐个获取地址并传递给geocoder.geocode()方法。

现在我可以看到,当控件进入此方法时,它会回到循环中,而不是进入方法的内部。

以下是代码:-

for(var i = 0; i <= oData.results.length; i ++)

{var address = oData.results [i] .ZADDRESS;

that.geocoder =新的google.maps.Geocoder();

that.geocoder.geocode({'address':address},

功能(结果,状态)

{如果(状态== google.maps.GeocoderStatus.OK)

{results [0] .geometry.location.lat();

results [0] .geometry.location.lng();

}});

您能告诉我为什么控制没有进入geocoder.geocode()吗?

3条回答
奄奄一息的小鱼
2020-08-18 07:32

好,我现在知道了,所以您只有一个位置的地址,并使用Google API来检索地理编码。

未看到控件进入" geocode()"回调函数的可能原因是调用的异步行为。 如果调用从未遇到回调函数,请检查浏览器的控制台日志,这可能是网络错误。

如果状态不正常,还应该输出。 作为 Google API文档状态,其中可能包含一些有用的信息。

功能codeAddress(){
   var address = document.getElementById(" address")。value;
   geocoder.geocode({address:address},function(results,status){
     如果(状态=="确定"){
       map.setCenter(results [0] .geometry.location);
       var marker = new google.maps.Marker({
         地图:
         位置:结果[0] .geometry.location
       });
     }其他{
       alert(" Geocode失败,原因如下:" + status);
     }
   });
 }