2011-07-06 87 views
1

我是新來的谷歌地圖,並希望使用谷歌地圖JavaScript API來顯示房屋作爲標記。我希望一個人能夠點擊地圖放置一個標記,可以再次點擊該標記以將其移除或拖動到地圖上的其他位置。然後,我希望腳本獲得座標(拉特和長),以便我可以將其添加到數據庫表中。任何想法我應該如何做到這一點?我在codeIgniter中使用PHP。如何通過點擊谷歌地圖得到cordinates

回答

0

一個良好的開端將是檢查出的參考手冊:如果你看一下地圖那裏,你可以看到它有所謂的「點擊」事件http://code.google.com/apis/maps/documentation/javascript/reference.html

。你做的是在地圖初始化之後,你做一個事件監聽器,監聽點擊事件。當發生這種情況時,您隨後在該位置放置一個標記,並在該標記上添加一個eventlistener以用於單擊事件(如果您想要將其刪除),或者如果要拖動它,則將其設置爲可拖動。

如果您想再次使用他們所持有的信息,請記住將您的標記存儲在數組中。

我希望這有助於。

0

我遲到了。請找到下面的代碼snipet。

/* Always set the map height explicitly to define the size of the div 
 
     * element that contains the map. */ 
 
     #map { 
 
     height: 100%; 
 
     } 
 
     /* Optional: Makes the sample page fill the window. */ 
 
     html, body { 
 
     height: 100%; 
 
     margin: 0; 
 
     padding: 0; 
 
     }
<div id="map"></div> 
 
    <script> 
 
     var map; 
 
     function initMap() { 
 
     map = new google.maps.Map(document.getElementById('map'), { 
 
      center: {lat: -34.397, lng: 150.644}, 
 
      zoom: 8 
 
     }); 
 
     var marker; 
 
     map.addListener('click', function(e) { 
 
      
 
      if(marker){ 
 

 
      var latlng = new google.maps.LatLng(e.latLng.lat(), e.latLng.lng()); 
 
      marker.setPosition(latlng); 
 
      }else{ 
 
      marker = new google.maps.Marker({ 
 
        position: {lat : e.latLng.lat(), lng : e.latLng.lng()}, 
 
        map: map 
 
       }) 
 
      } 
 

 
      alert("lat : "+e.latLng.lat()+ "; lng : "+e.latLng.lng()) 
 

 
      }); 
 
     } 
 
    </script> 
 
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDNPpCPQOwkMotaDj0IgHQ7HDAE8cz6-4U&callback=initMap" 
 
    async defer></script>