【问题标题】:Reverse Geocoding in Google Maps api 3Google Maps api 3 中的反向地理编码
【发布时间】:2012-02-15 18:20:13
【问题描述】:

我有以下 Javascript 代码,我想为我的地图应用反向地理编码

这是我的 JS 代码

更新

 <script  type="text/javascript">
 var map;
 var geocoder;
 var markers = new Array();    
 function initialize() {
 geocoder = new google.maps.Geocoder(); 
 var GPS = <%=GPS %>
     var latlng = new google.maps.LatLng(31.2330555556,72.3330555556);
     var myOptions = {
      zoom: 7,
      scaleControl:true,
      pancontrol: true,
      streetViewControl: true,
      center: latlng,
      mapTypeControl: true,
      mapTypeControlOptions: {
      style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
    },
      mapTypeId: google.maps.MapTypeId.HYBRID
    }    
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    var infowindow = new google.maps.InfoWindow();      

    for(i=0; i<GPS.length; i++)
    {     
    //GeoCoding
      if (geocoder) {
      geocoder.geocode({'latLng': latlng}, function(results, status) 
      {
      if (status == google.maps.GeocoderStatus.OK) {
      if (results[1]) {                     
          markers[i] = new google.maps.Marker(
          { 
          position: GPS[i].GPS,
          map: map,
          draggable:true,    
          Info:  results[1].formatted_address,
          title:GPS[i].TITLE
           }
           }
           }
           });    
            google.maps.event.addListener(markers[i], 'click', function() {
            infowindow.setContent(this.Info);
            infowindow.open(map,this);
            });             

         }    
      }


</script>

先生,这是我的更新代码,我在其中编写了反向地理编码的代码,但现在 MU 地图不工作请告诉我我到底错过了什么

【问题讨论】:

  • 如果它在实时站点上,或者如果您将完整代码放入 jsFiddle 之类的东西中以便我们进行测试,则更容易调试。
  • 同意 Mano,您确实需要链接到实时代码。

标签: javascript google-maps-api-3 reverse-geocoding


【解决方案1】:

你已经注释掉了地理编码器,所以你的 if 语句永远不会是真的。您还注释掉了对 codeLatLng 的调用。

首先尝试取消注释它们!

更新:

您的信息框中没有具有您期望的 id 的元素,地址和消息在哪里?

Info: '<table frame=box><tr>
<td align="Left">
<font face="Arial" size=2 color=#336699>Name:</td>
<td align="Left"><font face="Arial" size=2>'+ GPS[i].TITLE + '</font></td></tr><tr>'+
</td><td align="Left"><font face="Arial" size=2>'+ GPS[i].CNT_TEH + '</font></td></tr>'+
              '</table>'

这真是令人讨厌的 html.. 但请确保您有 &lt;span id='address'&gt;&lt;/span&gt; 或一个 div 也是一个用于消息的。

还渲染到什么?需要引用吗?

【讨论】:

  • 兄弟,这不是问题,我已经尝试取消注释,但一切都是徒劳的现在请告诉我如何在我的信息窗口上显示地理编码器变量
  • 我没有元素地址或消息我想直接在我的信息窗口上的标记上显示地理编码器与对应的坐标。请告诉我如何通过使用信息窗口上的地理编码器功能来做到这一点。而且 是我的服务器端变量,它从数据库中获取所有信息以制作标记以及信息窗口内容
  • @user1103342 在您的服务器渲染后 GPS 会是什么样子?你在用铁轨吗?你从哪里得到这个代码的?如果您想更新信息窗口的内容,代码需要更新页面上的元素,您目前正在告诉它更新据我所粘贴的内容不存在的元素。我知道你没有这些元素,我告诉你的是那是问题
  • 先生,现在请查看我的更新并查看 Geocidng 代码的评论部分,但现在可能地图无法正常工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-08
  • 2014-10-23
  • 2011-09-27
  • 1970-01-01
  • 2011-07-17
  • 2013-04-05
相关资源
最近更新 更多