2013-01-13 12 views
6

लैट पुनर्प्राप्त करने के लिए मेरे कोड पर काम कर रहा है, लंबे समय से क्लिक करके और यह ठीक काम करता है। यह सोचकर कि क्या एक ईवेंट इवेंट में 'क्लिक' और 'ड्रैगेंड' को गठबंधन करना संभव है यदि नहीं। एक उचित विकल्प की सराहना करेंगे।Google मानचित्र apiv3 'क्लिक' और 'ड्रैगेंड' एकल श्रोता

यही वह है जो मैं काम कर रहा हूं।

google.maps.event.addListener(map,'click', function(event) { 
    document.getElementById("latbox").value = event.latLng.lat(); 
    document.getElementById("lngbox").value = event.latLng.lng(); 
    addMarker(event.latLng); 
    }); 
} 

function addMarker(location) { 

if (!marker) { 

    marker = new google.maps.Marker({ 
    position: location, 
    map: map, 
    draggable:true, 
    animation: google.maps.Animation.DROP 
    }); 
} 
// Otherwise, simply update its location on the map. 
else { marker.setPosition(location); } 
} 

मैंने यह google.maps.event.addListener(map,'click','dragend', function(event) करने का प्रयास किया लेकिन इसका कोई फायदा नहीं हुआ। अगर किसी को भी marker.setPosition(location); को animation: google.maps.Animation.DROP में संशोधित करने का विचार है। । अग्रिम में धन्यवाद।

उत्तर

7

एकाधिक घटनाओं के लिए श्रोता को लागू करने के लिए कोई अंतर्निहित विधि नहीं है।

जब आपके समस्या यह है कि आप नहीं है कॉलबैक-समारोह में दो बार परिभाषित करने के लिए, आप एक गैर-अनाम फ़ंक्शन का उपयोग करें या तो हो सकता है या 1 घटना के लिए श्रोता को परिभाषित करने और घटना को गति प्रदान करना चाहते हैं जब अन्य घटना आग:

google.maps.event.addListener(map, 'click', 
           function(e){ alert('clicked or dragged');}); 
google.maps.event.addListener(map, 'dragend', function(){ 
           google.maps.event.trigger(this, 'click');}); 

एनीमेशन के लिए संबंधित:
के बजाय मार्कर-विकल्प, आप एक साथ कई विकल्प सेट करने के विधि setOptions उपयोग कर सकते हैं स्थापित करने के लिए मार्कर-तरीकों (setAnimation, setPosition) का उपयोग:

marker.setOptions({ position : location, 
        animation : google.maps.Animation.DROP}); 
+0

धन्यवाद आप मधुमक्खी है महान मदद के एन। उन तकनीकों का उपयोग करेंगे। –

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

  • कोई संबंधित समस्या नहीं^_^