0

我想提供地理位置和可編輯的地圖標記,通過Google地圖API向用戶返回經緯度。我已經成功地找到了如何通過方法做的這個地理位置部分描述hereGoogle Maps API地理位置+緯度/經度

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> 
<script> 
function success(position) { 
    var mapcanvas = document.createElement('div'); 
    mapcanvas.id = 'mapcontainer'; 
    mapcanvas.style.height = '400px'; 
    mapcanvas.style.width = '600px'; 

    document.querySelector('article').appendChild(mapcanvas); 

    coords = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 

    var options = { 
    zoom: 15, 
    center: coords, 
    mapTypeControl: false, 
    navigationControlOptions: { 
     style: google.maps.NavigationControlStyle.SMALL 
    }, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("mapcontainer"), options); 

    var marker = new google.maps.Marker({ 
     position: coords, 
     map: map, 
     title:"You are here!" 
    }); 
} 

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(success); 
} else { 
    error('Geo Location is not supported'); 
} 
</script> 

不過,我也希望能夠允許用戶通過地圖標記來移動地圖和選擇其他位置並捕獲他們選擇的緯度/經度。方法described here做我想要的,但我不知道如何讓兩個腳本一起工作來添加我需要的功能。如果這有助於解釋目標,我正在努力創造一種與über在這方面的功能相似的功能。

我該如何製作一個基於地理位置居中的Google地圖,而且其地圖標記可以移動並記錄最終標記的緯度/經度?感謝您的想法!

+1

你有什麼試過?你看過[documentation](https://developers.google.com/maps/documentation/javascript/reference#Marker)嗎?也許試圖讓標記可拖動?然後調查了關於如何獲得可拖動標記位置的許多問題(http://stackoverflow.com/search?q= [google-maps-api-3] + how + to + get + the + +一個可拖動+ +標誌物的位置+)? – geocodezip

回答

0

您想先在標記選項中將標記的draggable屬性設置爲true

然後聽標記上的dragend事件 - 您可以使用google.maps.event.addListener(marker, 'dragend', callback);來設置此事件。

然後在您的callback函數中,使用getPosition()方法獲取標記的位置。

正如@geocodezip所述,請參閱API documention以獲取更多參考。

相關問題