Google मानचित्र API V3: मार्करों में कस्टम डेटा कैसे जोड़ें


117

क्या कोई तरीका है जो मैं बाद में उपयोग के लिए अपने मार्करों में कुछ कस्टम जानकारी जोड़ सकता हूं। जानकारी-विंडो और शीर्षक रखने के तरीके हैं, लेकिन क्या होगा यदि मैं मार्कर को अन्य जानकारी के साथ जोड़ना चाहता हूं।

मेरे पास पृष्ठ पर प्रदर्शित किया जा रहा अन्य सामान है जो मार्करों पर निर्भर करता है इसलिए जब मार्कर पर क्लिक किया जाता है तो पृष्ठ पर मौजूद सामग्री को बदलना होता है जिसके आधार पर मार्कर को क्लिक किया जाता है। मैं एक मार्कर के कहने पर कस्टम डेटा को स्टोर और पुनर्प्राप्त करना चाहूंगा। आदि पर क्लिक किया।

धन्यवाद

जवाबों:


214

चूंकि Google मार्कर एक जावास्क्रिप्ट ऑब्जेक्ट है, आप फॉर्म में कस्टम जानकारी जोड़ सकते हैं key: value, जहां कुंजी एक वैध स्ट्रिंग है। उन्हें ऑब्जेक्ट गुण कहा जाता है और कई अलग-अलग तरीकों से संपर्क किया जा सकता है। मान कुछ भी कानूनी हो सकता है, संख्या या स्ट्रिंग्स के रूप में सरल, और फ़ंक्शन, या अन्य ऑब्जेक्ट भी। तीन सरल तरीके: घोषणा, डॉट नोटेशन और वर्ग कोष्ठक में

var markerA = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(0, 0),
    customInfo: "Marker A"
});

var markerB = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(-10, 0)
});
markerB.customInfo = "Marker B";

var markerC = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(-20, 0)
});
markerC['customInfo'] = "Marker C";

फिर इसे एक समान तरीके से पुनः प्राप्त करने के लिए:

google.maps.event.addListener(markerA, 'click', function() {
    alert(this.customInfo);
});

3
इस पैटर्न को औपचारिक रूप देने वाले दस्तावेज में कुछ भी नहीं है । यहाँ उम्मीद है कि वे इसे बाद के संस्करण में तोड़ने के बजाय करेंगे।
एडम

1
संपत्ति 'customInfo' प्रकार 'मार्कर' पर मौजूद नहीं है।
अलेहान 96

1
यदि आप टाइपस्क्रिप्ट का उपयोग कर रहे हैं, तो आप इस तरह के गुणों को असाइन करने के लिए बिंदी के बजाय कोष्ठक का उपयोग करना चाह सकते हैं
Cocoduf

14

आप मार्करों के लिए अपने स्वयं के कस्टम गुण जोड़ सकते हैं (बस सावधान रहें कि एपीआई के गुणों के साथ संघर्ष न करें)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.