2012-08-29 29 views
7

[EDIT] को फिर से लोड करते समय अपडेट नहीं होती हैं [EDIT] ऐसा लगता है कि समस्या Google मानचित्र से आती है जो केएमएल लिंक को अपडेट करने में कुछ समय लगता है ... मुझे यकीन नहीं है, लेकिन अंत में, यह काम करता है। .. [/ संपादित करें]Kml परतें

मैं एम्बेडेड इस वेबसाइट पर किसी मौजूदा सार्वजनिक गूगल मानचित्र: http://www.ridetheflavour.fr

यहाँ सार्वजनिक नक्शे का लिंक है: https://maps.google.fr/maps/ms?msa=0&msid=211027213468691902621.0004c8616605648d245b2

आप देख सकते हैं, वेबसाइट के मार्कर एम्बेडेड नक्शा सार्वजनिक Google मानचित्र मार्करों से मेल नहीं खाता है। ऐसा लगता है यह ब्राउज़र का कैश की बात नहीं है ...

यहाँ जावास्क्रिप्ट टुकड़ा मैं (गूगल मानचित्र एपीआई V3) का उपयोग कर रहा है:

var mapOptions = { 
      center: new google.maps.LatLng(24.797409,-5.449219), 
      zoom: 3, 
      mapTypeId: google.maps.MapTypeId.TERRAIN, 
      overviewMapControl: false, 
      streetViewControl: false 
     }; 
var map = new google.maps.Map(document.getElementById("map_canvas"), 
      mapOptions); 
var georssLayer = new google.maps.KmlLayer('https://maps.google.fr/maps/ms?ie=UTF8&authuser=0&msa=0&output=kml&msid=211027213468691902621.0004c8616605648d245b2'); 
georssLayer.setMap(map); 

किसी भी मदद की बहुत सराहना की जाएगी।

+0

वाह, मैं यह नहीं बता सकता कि समस्या का कारण क्या था (मानचित्रों को मिस्चैच करना) लेकिन दोनों इस क्षण में समान हैं। शायद Google नक्शे के लिए केएमएल लिंक को अपडेट करने में कुछ समय लगता है ... अगर किसी के पास तर्कसंगत स्पष्टीकरण है ... – Sulliwane

उत्तर

17

Google के सर्वर समय की कुछ अवधि के लिए एम एल सामग्री को कैश। अद्यतन करने के लिए प्रदान की गई KML बाध्य करने के लिए, एक कैश यूआरएल के लिए बस्टिंग पैरामीटर जोड़ें। मैं आमतौर पर दिनांक/समय के एक समारोह का उपयोग करता है, तो मैं इसे प्रोग्राम के रूप में करने की जरूरत है, या अगर यह सिर्फ एक एक बार संपादित एक मैनुअल है? एक = 0 और incrementing कि के रूप में मैं परिवर्तन कर काम करता है।

कुछ इस तरह (आप URL के दूसरे क्वेरी पैरामीटर नहीं है):

var URL = filename+"?dummy="+(new Date()).getTime(); 
+0

अच्छा कामकाज ... बहुत बहुत धन्यवाद !! – Sulliwane

+0

बिल्कुल सही! कभी-कभी मैं इसे बदलने के लिए मैन्युअल रूप से एक? Ver = संख्या जोड़ता हूं। यह कैश सभी kml फ़ाइलों को प्रभावित करता है इससे कोई फर्क नहीं पड़ता कि वे कहां होस्ट किए जाते हैं। – efwjames

+0

असल में - यह शानदार रूप से सरल है - धन्यवाद! –

0

या आप सरल बना सकते हैं तो यह और भी आगे और उपयोग:

वर यूआरएल = '[अपने kml यहाँ url] & ver = '+ Date.now();

वर georssLayer = नए google.maps.KmlLayer (यूआरएल);

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

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