यहाँ JSFiddle डेमो है । Google Maps API V3 में एक ड्रैगबल मार्कर के लेट और लैंग को ट्रैक करना बहुत सरल है। चलिए हमारे आधार के रूप में निम्नलिखित HTML और CSS से शुरू करते हैं।
<div id='map_canvas'></div>
<div id="current">Nothing yet...</div>
#map_canvas{
width: 400px;
height: 300px;
}
#current{
padding-top: 25px;
}
यहाँ हमारा प्रारंभिक जावास्क्रिप्ट गूगल मैप को इनिशियलाइज़ कर रहा है। हम एक मार्कर बनाते हैं जिसे हम ड्रैग करना चाहते हैं और इसे ड्रैग करने योग्य प्रॉपर्टी को सही पर सेट करना है। निश्चित रूप से यह ध्यान रखें कि इसे लोड करने के लिए आपकी विंडो की ऑनलोड घटना से जुड़ा होना चाहिए, लेकिन मैं कोड पर छोड़ दूंगा:
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
});
यहां हम dragstart
ड्रैगिंग की शुरुआत को ट्रैक करने के लिए दो घटनाओं को dragend
जोड़ते हैं और जब मार्कर को ड्रैग करना बंद कर देते हैं, और जिस तरह से हम इसे जोड़ते हैं उसका उपयोग करना है google.maps.event.addListener
। हम यहाँ क्या कर रहे हैं current
जब div ड्रैग कर रहा है तब मार्कर सेट हो रहा है और फिर मार्कर के लेट और lng को सेट करें जब ड्रैग रूक जाता है। Google माउस इवेंट में एक प्रॉपर्टी का नाम 'latlng' होता है, जो इवेंट ट्रिगर होने पर 'google.maps.LatLng' ऑब्जेक्ट देता है। इसलिए, हम यहां जो कर रहे हैं वह मूल रूप से इस श्रोता के लिए पहचानकर्ता का उपयोग कर रहा है जो ड्रैगेंड की वर्तमान स्थिति को निकालने के google.maps.event.addListener
लिए संपत्ति प्राप्त करता है और प्राप्त करता है latLng
। एक बार जब हम ड्रैग लैंग को खींच लेते हैं, तो हम आपके current
डिव के भीतर प्रदर्शित होते हैं :
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>';
});
अंत में, हम अपने मार्कर को केंद्र में रखेंगे और इसे मानचित्र पर प्रदर्शित करेंगे:
map.setCenter(myMarker.position);
myMarker.setMap(map);
अगर आपको मेरे उत्तर के बारे में कोई प्रश्न है तो मुझे बताएं।