2011-12-23 44 views
0

的JavaScript:在google map api中点击事件时获取lat和lng时出错?

var myLatlng = new google.maps.LatLng(10.786599576864381,106.69340372085571); 
    var myOptions = { 
     zoom: 16, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 

    map = new google.maps.Map(document.getElementById("gmap"), myOptions); 

    marker = new google.maps.Marker({ 
     position: myLatlng, 
     map: map 
    }); 
google.maps.event.addListener(map, 'click', function() { 
      var location = map.getCenter(); 
      document.getElementById("lat").innerHTML = location.lat(); 
      document.getElementById("lon").innerHTML = location.lng(); 
      placeMarker(location); 
      }); 
    function placeMarker(location) { 
     var clickedLocation = new google.maps.LatLng(location); 
     marker.setPosition(location); 
    } 

HTML:我使用map.getCenter得到纬度和经度,但

<center> 
    <div id="bd"> 
    <div id="gmap"></div> 
    lat:<span id="lat"></span> lon:<span id="lon"></span><br/> 
    </div> 
    </center> 

结果没有找到,如何解决

+0

你面对的是什么类型的错误? – Unknown 2011-12-23 03:53:21

+0

@Kiran:错误是找不到拉特和lng,结果为空 – 2011-12-23 03:54:41

+0

你可以发布你如何创建地图吗? – Unknown 2011-12-23 03:56:39

回答

1

位置你得到的是中心的地图。

您需要点击捕捉事件,这样你可以得到的经纬度是这样的:

google.maps.event.addListener(map, 'click', function(event) { 
//var location = map.getCenter(); 
//document.getElementById("lat").innerHTML = location.lat(); 
//document.getElementById("lon").innerHTML = location.lng(); 
placeMarker(event.latLng); 
}) 
相关问题