2011-04-16 14 views
48

मैं Google मानचित्र में नया हूं, और मैं इसे सीखने की कोशिश कर रहा हूं।Google मानचित्र v3 draggable marker

marker = new google.maps.Marker(
{ 
    map:map, 
    draggable:true, 
    animation: google.maps.Animation.DROP, 
    position: results[0].geometry.location 
}); 

यह है मेरी मार्कर स्थिति, की तुलना में मैं जगह का नाम पता है जब मैं मार्कर स्थिति initialising कर रहा हूँ (उदाहरण के लिए: XY सड़क, न्यू यॉर्क,), लेकिन खींचने योग्य विकल्प की वजह से यह बदल रहा है, और मेरा सवाल यह है कि मैं नया स्थान नाम कैसे प्राप्त कर सकता हूं, मुझे किस घटना हैंडलर की आवश्यकता है।

उत्तर

102

अंत में मैं इस सवाल का जवाब मिला:

marker = new google.maps.Marker(
{ 
    map:map, 
    draggable:true, 
    animation: google.maps.Animation.DROP, 
    position: results[0].geometry.location 
}); 
google.maps.event.addListener(marker, 'dragend', function() 
{ 
    geocodePosition(marker.getPosition()); 
}); 

function geocodePosition(pos) 
{ 
    geocoder = new google.maps.Geocoder(); 
    geocoder.geocode 
    ({ 
     latLng: pos 
    }, 
     function(results, status) 
     { 
      if (status == google.maps.GeocoderStatus.OK) 
      { 
       $("#mapSearchInput").val(results[0].formatted_address); 
       $("#mapErrorMsg").hide(100); 
      } 
      else 
      { 
       $("#mapErrorMsg").html('Cannot determine address at this location.'+status).show(100); 
      } 
     } 
    ); 
} 
+0

क्या "dragend है के बदलावों को सुनने के लिए "और जहां इसका इस्तेमाल किया गया? मैंने आपका कोड कॉपी किया और चलाया लेकिन मैं स्थिति के अंदर स्थिति या परिणाम मुद्रित नहीं कर सकता। – IshaS

+1

ड्रैगेंड एक ऐसा ईवेंट है जो Google मानचित्र एपीआई द्वारा ट्रिगर किया जाता है। यह सुन रहा है कि मार्कर के दौरान क्या करना है मानचित्र पर वापस गिरा दिया गया है। – toobulkeh

+1

@ohlala आपका कोड मेरे लिए ठीक काम करता है, लेकिन '# mapSearchInput' में पता नहीं है मेरी आवश्यकताओं के अनुसार, जैसे कि मैं एक दुकान पर मार्कर छोड़ देता हूं, यह दुकान का नाम प्रदर्शित नहीं करता है बल्कि दुकान के नाम के बिना सड़क का पता दिखाता है। Plz मदद – Sandeep

12

अक्षांश/लैंग का उपयोग कर मानचित्र पर एक स्थान निर्धारित करें और अक्षांश/लैंग शुरू में पर एक मार्कर सेट मार्कर खींचने योग्य

  • का उपयोग कर मानचित्र पर दिए गए बिंदु

  • पता चर का उपयोग शीर्षक उद्देश्य के लिए किया जाता है। इसे अनदेखा किया जा सकता है।

  • खींचने योग्य: सही मार्कर खींचने योग्य बनाता है।

  • उपयोग घटना श्रोता google.maps.event.addListener (मार्कर, 'dragend', समारोह (मार्कर) मार्कर स्थिति

    function showMap(lat,lang,address) { 
    var myLatLng = {lat: lat, lng: lang}; 
    
        var map = new google.maps.Map(document.getElementById('map_canvas'), { 
         zoom: 17, 
         center: myLatLng 
        }); 
    
        var marker = new google.maps.Marker({ 
         position: myLatLng, 
         map: map, 
         title: address, 
         draggable:true, 
        }); 
    
        google.maps.event.addListener(marker, 'dragend', function(marker){ 
         var latLng = marker.latLng; 
         currentLatitude = latLng.lat(); 
         currentLongitude = latLng.lng(); 
         jQ("#latitude").val(currentLatitude); 
         jQ("#longitude").val(currentLongitude); 
        }); 
    } 
    
+0

यह बहुत अच्छा है - पूरी तरह से काम किया – deebs

+1

^^ कृपया कोड क्षेत्र के बाहर भटक घुंघराले ब्रेस नोट करें। मैंने इसे बदलने की कोशिश की, लेकिन इससे कोई फर्क नहीं पड़ता कि मैंने कोशिश की कि मैं इस जवाब पर सही ढंग से काम करने के लिए कोड मार्क-अप नहीं प्राप्त कर सका। किसी को पता है क्यों? क्या कोई इसे ठीक कर सकता है? – freeworlder

संबंधित मुद्दे