2013-02-05 12 views
10

से लिंक जोड़ने और प्राप्त करने का तरीका मैं मार्कर सरणी से डेटा प्राप्त करने की कोशिश कर रहा हूं और उसे ऑनमार्करक्लिक फ़ंक्शन पर वापस कॉल करने की कोशिश कर रहा हूं ताकि मार्कर क्लिक करने के बाद मैं एक यूआरएल पर जा सकूं, जो भी मैं कोशिश करता हूं वह असफल हो रहा है । मैं मार्कर सरणी में एक यूआरएल जोड़ना चाहता हूं और इसे ऑनमार्करक्लिक में वापस कराना चाहता हूं। उन्नत में आपकी मदद के लिए धन्यवाद:जेवेक्टर मानचित्र मार्कर

$(function(){ 
    $('#map1').vectorMap({ 
        map: 'world_mill_en', 
        scale: ['#C8EEFF', '#0071A4'], 
        normalizeFunction: 'polynomial', 
        hoverOpacity: 0.7, 
        hoverColor: false, 
        markerStyle: { 
        initial: { 
          fill: '#F8E23B', 
          stroke: '#383f47' 
        } 
        }, 
        backgroundColor: '#383f47', 
        markers: [{latLng: [48.921537, -66.829834], name: "something", weburl : "/blah/foo" 

      },{latLng: [45.995944, -64.171143], name: "something else", weburl : "/blah/foo" 

      },], 
        onMarkerClick: function(events, label, index, weburl) { 
        alert (1+weburl);     
        } 
      }); 
}); 

उत्तर

26

इतना संयोग है, मैं एक ही समस्या का सामना करना पड़ा कल ही .. :)

समाधान मैंने पाया बाहर एक सरणी बनाने के लिए था, और सूचकांक द्वारा यह पहुँच क्लिक-समारोह में ..

var markers = [ 
    {latLng: [48.921537, -66.829834], name: "something", weburl : "/blah/foo"}, 
    {latLng: [45.995944, -64.171143], name: "something else", weburl : "/blah/foo-else"} 
]; 

$(function(){ 
    $('#map1').vectorMap({ 
        ... 
        markers: markers, 
        onMarkerClick: function(event, index) { 
         // alter the weburl 
         alert(markers[index].weburl); 
        } 
      }); 
}); 
+2

धन्यवाद, आप एक पूर्ण किंवदंती हैं। मैंने इसे समझने की कोशिश कर घंटों और दिन बिताए हैं। !!!! –

1

सिर्फ इसलिए कि मैं सिर्फ समस्या इस तरह की एक अलग तरह से हल किया है, और मैं तो, मैं अपने जवाब पोस्ट करेंगे किया होने के लिए बहुत चालाक महसूस कर रहा हूँ।

आप jQuery.data या जावास्क्रिप्ट डोम डेटासेट्स का उपयोग करके मनमानी डेटा स्टोर कर सकते हैं। जब तक आपके पास <circle> तत्वों के साथ आपके पृष्ठ पर अन्य एसवीजी नहीं है, तो आप सभी <circle> तत्वों को फिर से चालू कर सकते हैं और उन्हें एक सरणी से डेटा दे सकते हैं। इंडेक्स मेल खाते हैं, लेकिन आप डेटा-इंडेक्स को सुरक्षा के रूप में उपयोग कर सकते हैं।

बहुत अच्छा। हालांकि यह पुराना तरीका है, शायद यह विकल्प किसी की मदद करेगा।

+1

onMarkerClick घटना अचानक मेरे लिए काम करना बंद कर दिया, यह बहुत उपयोगी था। धन्यवाद –

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

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