Пользовательские значки в KML иногда ломаются в Картах Google - PullRequest
1 голос
/ 02 марта 2012

Так что это может быть немного сложно продемонстрировать, так как проблема появляется только изредка и непредсказуемо - надеюсь, проблема появляется, когда вы просматриваете этот вопрос (или, наоборот, перестали появляться вообще!).

У нас есть реализация Google Maps на нашем сайте, которая отображает постраничные результаты поиска на карте.Результаты текущей страницы отображаются в виде обычных маркеров Google Maps (со специальными значками - они работают нормально), но другие результаты поиска отображаются в виде меньших маркеров в слое KML.Пример:

http://www.redflagdeals.com/in/verdun/map/

Большие маркеры представляют собой квадратные изображения булавок;маленькие маркеры - цветные точки.Синие и фиолетовые маркеры / точки просто относятся к разным типам контента.В файле KML мы указали два стиля, по одному для каждого типа контента.Помимо ссылки на значок, которая указывает на разные изображения выводов, эти два элемента абсолютно одинаковы.Вот пример сгенерированного файла KML для справки:

http://www.redflagdeals.com/in/verdun/map/?do=map_kml&longitude=-73.56895400000002&latitude=45.457064&order=deal_price&dir=asc&category_filter=0&content_filter=0&tag_filter=0&keyword=&page=1&show=deal%20coupon

Большую часть времени наша карта отлично показывает большие и маленькие маркеры.Иногда, однако, некоторые или все маленькие булавки появляются без пользовательских значков, вместо этого возвращаясь к общему синему изображению маркера Google.Сегодня обычные минипины, которые отображаются синим цветом, сломаны, а фиолетовые - в порядке.В других случаях и синий, и фиолетовый нарушаются.

Проблема обычно решается сама собой, оставляя нас в неведении относительно причины или решения.Единственная теория, которая у меня есть, заключается в том, что мы используем CDN для размещения наших маркерных изображений, и иногда мы помещаем новую версию в CDN, одновременно обновляя все имена файлов (так как у нас есть номера версий CDN в URL-адресах для наших изображений).Возможно, возможно, что Google запрашивает одно или оба небольших изображения булавки, когда мы выдвигаем новую версию CDN, получаем 404 и сразу сдаемся.Но это означает, что Google кэширует изображения KML (или их отсутствие) в течение достаточно долгого времени.Кроме этого, у меня нет идей.

Есть ли что-то, что мы можем сделать, чтобы предотвратить возникновение этой проблемы в будущем?

Ответы [ 2 ]

1 голос
/ 02 марта 2012

см. Этот пост (комментарий № 4) объясняет кеширование пользовательских маркеров http://code.google.com/p/gmaps-api-issues/issues/detail?id=3864

1 голос
/ 02 марта 2012

Я только что проверил это, результат следующий:

Я уверен, что Google кэширует как KML-файл, так и изображения-маркеры.(Конечно, они делают, иначе они должны загружать файлы и создавать новые плитки при каждом отдельном запросе)

Поэтому, когда вы меняете любое изображение маркера, вы должны изменить URL-адреса изображений маркера внутри KML-file.

Вы также должны изменить URL-адрес KML-файла внутри своего приложения (в противном случае Google не распознает измененные URL-адреса изображений)

Достаточно добавить случайный параметр в URL-адреса.

...