2012-03-01 3 views
1

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

У нас есть реализация 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 Google. Сегодня пользовательские минипины, которые появляются в синем, сломаны, а фиолетовые - все в порядке. В других случаях и синие, и фиолетовые сломаны.

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

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

ответ

1

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

+0

Это определенно звучит так, как будто проблема связана с тем, как мы обновляем наш CDN. Благодаря! –

1

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

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

Итак, при изменении любого маркерного изображения вы должны изменить URL-адреса изображений-маркеров внутри KML-файла ,

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

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

Смежные вопросы