क्लिक पर Google मानचित्र में मार्कर जोड़ें


87

जब कोई उपयोगकर्ता मानचित्र पर क्लिक छोड़ता है तो मैं Google मानचित्र में मार्कर (ओं) को जोड़ने का एक बहुत ही सरल उदाहरण खोजने के लिए आश्चर्यजनक रूप से संघर्ष कर रहा हूं।

मैंने पिछले कुछ घंटों के लिए चारों ओर देखा है, और Google मैप्स एपीआई प्रलेखन से परामर्श किया है, और कुछ मदद की सराहना करेगा!

जवाबों:


169

बहुत शोध के बाद, मैं एक समाधान खोजने में कामयाब रहा।

google.maps.event.addListener(map, 'click', function(event) {
   placeMarker(event.latLng);
});

function placeMarker(location) {
    var marker = new google.maps.Marker({
        position: location, 
        map: map
    });
}

7
क्या हम उपयोगकर्ता को केवल एक बार जोड़ सकते हैं? और मार्कर को स्थानांतरित करें?
चबी अलअा

plase दे नमूना लिंक
Sopo

43

2017 में, समाधान है:

map.addListener('click', function(e) {
    placeMarker(e.latLng, map);
});

function placeMarker(position, map) {
    var marker = new google.maps.Marker({
        position: position,
        map: map
    });
    map.panTo(position);
}

20

यह वास्तव में एक प्रलेखित विशेषता है, और यहां पाया जा सकता है

// This event listener calls addMarker() when the map is clicked.
  google.maps.event.addListener(map, 'click', function(e) {
    placeMarker(e.latLng, map);
  });

  function placeMarker(position, map) {
    var marker = new google.maps.Marker({
      position: position,
      map: map
    });  
    map.panTo(position);
  }

14

@Chaibi Alaa, उपयोगकर्ता को केवल एक बार जोड़ने और मार्कर को स्थानांतरित करने में सक्षम बनाने के लिए; आप पहले क्लिक पर मार्कर सेट कर सकते हैं और फिर बाद में क्लिक पर स्थिति बदल सकते हैं।

var marker;

google.maps.event.addListener(map, 'click', function(event) {
   placeMarker(event.latLng);
});


function placeMarker(location) {

    if (marker == null)
    {
          marker = new google.maps.Marker({
             position: location,
             map: map
          }); 
    } 
    else 
    {
        marker.setPosition(location); 
    } 
}

6

वर्तमान में श्रोता को मानचित्र में जोड़ने की विधि होगी

map.addListener('click', function(e) {
    placeMarker(e.latLng, map);
});

और नहीं

google.maps.event.addListener(map, 'click', function(e) {
    placeMarker(e.latLng, map);
});

संदर्भ


0
  1. सबसे पहले मार्कर की घोषणा करें:
this.marker = new google.maps.Marker({
   position: new google.maps.LatLng(12.924640523603115,77.61965398949724),
   map: map
});
  1. क्लिक पर मार्कर को प्लॉट करने के लिए विधि को कॉल करें:
this.placeMarker(coordinates, this.map);
  1. फ़ंक्शन को परिभाषित करें:
placeMarker(location, map) {
    var marker = new google.maps.Marker({
        position: location,
        map: map
    });
    this.markersArray.push(marker);
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.