2014-04-13 204 views

回答

1

gmap geocoding,你可以找到協調的JSON陣列將其直接傳遞到URL,例如

location: lat:40.714224, lng:-73.961452

+1

感謝您的回覆,但那不是我所需要的。地圖將被集成到一個頁面中,並且我需要動態顯示地圖中心的街道地址,從而可以移動地圖。所以url需要保持不變,但地址應該取決於地圖視圖。 –

+0

據我所知,你想檢索地圖中心的地址,對吧?所以它可以通過googlemap反向地理編碼完成,請參閱 https://developers.google.com/maps/documentation/javascript/examples/geocoding-reverse?hl=zh-CN 如果要動態檢索地址,可以將拖放監聽器設置爲您的地圖,獲取中心位置,並應用反向地理編碼來獲取地址。 – vtproduction

1

使用谷歌地圖的地理編碼: https://developers.google.com/maps/documentation/javascript/examples/geocoding-reverse

function initMap() { 
     var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 8, 
      center: {lat: 40.731, lng: -73.997} 
     }); 
     var geocoder = new google.maps.Geocoder; 
     var infowindow = new google.maps.InfoWindow; 

     document.getElementById('submit').addEventListener('click', function() { 
      geocodeLatLng(geocoder, map, infowindow); 
     }); 
     } 

     function geocodeLatLng(geocoder, map, infowindow) { 
     var input = document.getElementById('latlng').value; 
     var latlngStr = input.split(',', 2); 
     var latlng = {lat: parseFloat(latlngStr[0]), lng: parseFloat(latlngStr[1])}; 
     geocoder.geocode({'location': latlng}, function(results, status) { 
      if (status === 'OK') { 
      if (results[0]) { 
       map.setZoom(11); 
       var marker = new google.maps.Marker({ 
       position: latlng, 
       map: map 
       }); 
       infowindow.setContent(results[0].formatted_address); 
       infowindow.open(map, marker); 
      } else { 
       window.alert('No results found'); 
      } 
      } else { 
      window.alert('Geocoder failed due to: ' + status); 
      } 
     }); 
     }