Ini adalah Demo JSFiddle . Di Google Maps API V3, cukup mudah untuk melacak lintang dan bujur dari penanda yang bisa diseret. Mari kita mulai dengan HTML dan CSS berikut sebagai basis kita.
<div id='map_canvas'></div>
<div id="current">Nothing yet...</div>
#map_canvas{
width: 400px;
height: 300px;
}
#current{
padding-top: 25px;
}
Berikut adalah JavaScript awal kami yang menginisialisasi peta google. Kami membuat penanda yang ingin kami seret dan setel properti draggable menjadi true. Tentu saja perlu diingat itu harus dilampirkan ke acara onload jendela Anda agar bisa dimuat, tetapi saya akan melompat ke kode:
var map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 1,
center: new google.maps.LatLng(35.137879, -82.836914),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var myMarker = new google.maps.Marker({
position: new google.maps.LatLng(47.651968, 9.478485),
draggable: true
});
Di sini kami melampirkan dua kejadian dragstart
untuk melacak awal menyeret dan dragend
mengering ketika penanda berhenti diseret, dan cara kami melampirkannya adalah dengan menggunakannya google.maps.event.addListener
. Apa yang kita lakukan di sini adalah menyetel konten div current
saat marker diseret dan kemudian menyetel lat dan lng marker saat drag berhenti. Peristiwa Google mouse memiliki nama properti 'latlng' yang mengembalikan objek 'google.maps.LatLng' saat peristiwa tersebut dipicu. Jadi, apa yang kita lakukan di sini pada dasarnya menggunakan pengenal untuk pendengar ini yang dikembalikan oleh google.maps.event.addListener
dan mendapatkan propertilatLng
untuk mengekstrak posisi dragend saat ini. Setelah kami mendapatkan Lat Lng itu saat seret berhenti, kami akan menampilkan dalam current
div Anda :
google.maps.event.addListener(myMarker, 'dragend', function(evt){
document.getElementById('current').innerHTML = '<p>Marker dropped: Current Lat: ' + evt.latLng.lat().toFixed(3) + ' Current Lng: ' + evt.latLng.lng().toFixed(3) + '</p>';
});
google.maps.event.addListener(myMarker, 'dragstart', function(evt){
document.getElementById('current').innerHTML = '<p>Currently dragging marker...</p>';
});
Terakhir, kami akan memusatkan penanda kami dan menampilkannya di peta:
map.setCenter(myMarker.position);
myMarker.setMap(map);
Beri tahu saya jika Anda memiliki pertanyaan tentang jawaban saya.