Google Maps API v3 - змены KML Layer

Я выкарыстоўваю google.maps.KmlLayer ( «http://mywebsite.com/my.kml»), каб усталяваць аб'екты з KML-файла. Гэта працуе, але калі я змяніць KML і паспрабаваць абнавіць сайт ... Я да гэтага часу ў тым жа стане, як і раней ... без маіх зменаў. Калі я змяніць імя файла my2.kml - гэта працуе ... Ёсць Google кэшаванне мой KML? Што мне трэба зрабіць, каб абнавіць змены з тым жа імем файла KML?

7
Вы спрабавалі ачысціць кэш браўзэра? (У якасці альтэрнатывы абнаўлення старонкі з CTRL + F5, а не проста F5).
дададзена аўтар Joachim Rohde, крыніца
@JoachimRohde ён не будзе працаваць. Google з'яўляецца кэшаванне файлаў KML, а не браўзэр на кліенце.
дададзена аўтар Matyas, крыніца
Так я і зрабіў. Акрамя таго, я спрабую адкрыць свой сайт у іншым браўзэры: Opera, IE, Safari, Chrome, FF ... вынік той жа ...
дададзена аўтар Jacob Jedryszek, крыніца

2 адказы

Серверы Google робяць у кэш факт дадзеных KML. Паколькі серверы Google Апрацоўваецца KML, а не ваш браўзэр, ачыстка кэша не дапаможа. Таму змена назвы файлаў працуе. Для таго, каб прадухіліць кэшаванне, дадаць кэш-папойка на ваш URL KML, які вы ствараеце пласт KML з, напрыклад, выпадковы лік або бягучага часу. http://mywebsite.com/my.kml?rev=323626252346 дзе значэнне абаротаў мяняецца кожны раз пры абнаўленні старонкі будзе працаваць. Вы таксама можаце напісаць Javascript, так што вы можаце націснуць на кнопку, якая абнаўляе URL на аб'екце KML Layer, ухіляючы неабходнасць абнавіць старонку.

10
дададзена
Так, перайменаванне файлаў працуе імгненна. Падобна на тое, самае лепшае рашэнне, калі вы тэстуеце і не маюць часу, каб марнаваць.
дададзена аўтар Shina, крыніца
Я выявіў, што калі змяніць першапачатковы KML і змяшчае памылку, Google карта паказвае апошнюю карту без памылак. (Гэта мне спатрэбілася некаторы час, каб заўважыць ... толькі ў выпадку, калі гэта нехта дапамагае)
дададзена аўтар Jorge, крыніца
Я паспрабаваў гэты метад, але ён не працуе. Любыя іншыя прапановы?
дададзена аўтар Shyam K, крыніца
Вышэй, не маё пытаньне. Але вось прыклад кода . Ён здабывае KML з бягучага сайта і адлюстроўвае яго. Я думаю, што Google кэшуецца KML амаль суткі. Такім чынам, ён можа вярнуцца да фактычнага файлу KML ў любы час.
дададзена аўтар Shyam K, крыніца
Адваротнае бягучых каардынаты павінны быць паказаны. Google кэшаваць значэнне: (... Так што мае каардынаты паказваюць на ваду.
дададзена аўтар Shyam K, крыніца
Мне вельмі шкада. Ваш метад працуе. Мабыць Google карты бярэ каардынаты з файла KML ў зваротным парадку. Гэта было (х, у) на KML. Калі я іду ў maps.google.com для (х, у) ён паказвае дзесьці ў грэнландскага мора. Але калі я адмяніў каардынату ён паказаў на патрэбнае месца. Гэта не адбывалася раней (b4, выкарыстоўваючы свой метад), паколькі значэнне атрымлівала ў кэш. Дзякуй за дапамогу. : D
дададзена аўтар Shyam K, крыніца
Ці можаце вы даць ўзор кода?
дададзена аўтар Danny Cohn, крыніца
Я здзіўлены тым, наколькі моцна гэта дакумент у API.
дададзена аўтар MastaBaba, крыніца

Так, серверы Google кэшаваць дадзеныя KML. Так што пазбегнуць гэтага кэшавання, змяніць URL Kml ў

"http://www.kmlsource.com/foo.kml?dummy=" + (new Date()).getTime();

Гэта заўсёды будзе генераваць новы вэб-сайт і праблема кэшавання будзе вырашана.

5
дададзена
Вялікі хак. Захаваць мой дзень.
дададзена аўтар tala9999, крыніца