是否可以获得具有特定lat和lng的位置对象?

时间:2013-08-06 08:00:14

标签: google-maps google-maps-api-3

我不确定我的问题是否有效。但我有一些要求如下。

是否可以获得具有特定latlng的地方对象?

详细说明当我们使用自动填充方法时,我们可以获取地点对象,例如:
"place = autocomplete.getPlace();"

是否可以针对特定getPlace()lat或任何其他可用解决方案调用lng方法?

1 个答案:

答案 0 :(得分:1)

准确地说,您要问的是反向地理编码

  

<强>维基

     

反向地理编码是对点进行反向(反向)编码的过程   位置(纬度,经度)到可读地址或地名。

是Google提供反向地理编码服务。 但它不是你在问题中提到的一行。

它有自己的程序。

检查Google's Reverse Geocoding以获取更多信息。

您可能会发现以下代码很有用。

var geocoder;
var map;
function initialize() {
  geocoder = new google.maps.Geocoder();  //  * initialize geocoder class
  var latlng = new google.maps.LatLng(40.730885,-73.997383);
  var mapOptions = {
    zoom: 8,
    center: latlng,
    mapTypeId: 'roadmap'
  }
  map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
}

function getPlace() {    
  var lat = your Latitude;   // give valid lat
  var lng = your Longitude;  // give valid lng
  var latlng = new google.maps.LatLng(lat, lng);
  geocoder.geocode({'latLng': latlng}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      if (results[1]) {
        map.setZoom(11);
        marker = new google.maps.Marker({
            position: latlng,
            map: map
        });
      }
      else {
        //handle error status accordingly
      }
    }
  }
}
google.maps.event.addDomListener(window, 'load', initialize);

希望你理解。