在google地图中没有获得lat和long的帮助

时间:2013-10-15 09:28:16

标签: javascript google-maps

我正在尝试使用reverse geocoding获取地址 但geocoder.geocode({...})行存在一些问题。即使是正常的警报信息也无法显示。

 function initialize() { 
 var mapOptions = { 
    zoom: 11,
    center: new google.maps.LatLng(23.0171240, 72.5330533),
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById('map_canvas'),mapOptions);

  google.maps.event.addListener(map, 'click', function(e) {
    placeMarker(e.latLng, map);
    var input=e.latLng;
    var lat = parseFloat(input.lat());
    var lng = parseFloat(input.lng());
    var latlng = new google.maps.LatLng(lat, lng);
    geocoder.geocode({'latLng': latlng}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
           alert(results[1].formatted_address);
        }
      });
    });
}

function placeMarker(position, map) {
  var marker = new google.maps.Marker({
    position: position,
    map: map
  });
  map.panTo(position);
}

google.maps.event.addDomListener(window, 'load', initialize);

1 个答案:

答案 0 :(得分:1)

在initialize()函数中添加以下行。

var geocoder = new google.maps.Geocoder();