2014-05-03 85 views
0

我将谷歌地图添加到了我的网站,现在我想要做的是当人在地图上标记标记时,我需要标记的坐标设置在2个标签lat和lng中 这里就是我所做的,到目前为止从谷歌地图获取标记坐标

<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> 
<script> 
    var map; 

    function initialize() { 
     var haightAshbury = new google.maps.LatLng(33.9000, 35.5333); 
     var mapOptions = { 
      zoom: 8, 
      center: haightAshbury, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

     map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
     google.maps.event.addListener(map, 'click', function(event) { 
      addMarker(event.latLng); 
     }); 
    } 

    // Add a marker to the map and push to the array. 
    function addMarker(location) { 
     var marker = new google.maps.Marker({ 
       position: location, 
       map: map 
     }); 
     var lat = marker.getPosition().lat(); 
     var lng = marker.getPosition().lng(); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

,并在标签:

<div id="panel"> 
    <label id="lat"><script>document.getElementById("lat").innerHTML=lat;</script></label> 
    <label id="lng"><script>document.getElementById("lng").innerHTML=lng;</script></label> 
</div> 

事先但初学者对不起....谢谢

回答

0

这看起来像一个与标签标签之间的脚本标签漂亮的伎俩。脚本在页面加载时进行评估,因此脚本在标签内的位置不会奇迹般地更新您的标签标签。

相反,尝试里面addMarker()所以它做什么,它的名字“添加标记”意图做添加功能(或者你想让它做什么呢?)。

function addMarker(location) { 
    var marker = new google.maps.Marker({ 
      position: location, 
      map: map 
     }), 
     lat = document.getElementById('lat'), 
     lng = document.getElementById('lng'); 

    lat.innerHTML = location.lat(); 
    lng.innerHTML = location.lng(); 
} 
+0

非常感谢我的朋友! – ljdayekh