Как улучшить производительность KML - PullRequest
1 голос
/ 30 марта 2011

Привет У меня возникли проблемы с производительностью KML.Иногда маркеры KML появляются только после перезагрузки, что может быть связано с кэшированием результатов Google.Я думаю, что нужно лучшее решение, возможно, что-то вроде отображения маркеров для области с большим уровнем масштабирования, а затем более детально для уровней с большим масштабированием.Возможно ли такое решение, и если да, то как?Можете ли вы придумать другие способы, как я могу улучшить производительность своей карты KML?Ссылки http://www.koolbusiness.com и файл KML http://www.koolbusiness.com/list.kml

. Я могу загрузить файл KML в maps.google.com без проблем, однако при попытке отобразить его на моей пользовательской карте на дисплееиногда не загружается.Заранее благодарен за любые предложения.

ОБНОВЛЕНИЕ: я обновил использование файла KMZ со сжатием zip.Файл доступен через http://www.koolbusiness.com/list.kmz, а источник и дополнительная информация доступны по http://montao.googlecode.com

Ответы [ 2 ]

2 голосов
/ 31 марта 2011

не знаю, влияет ли это на производительность, но кажется, что вам нужно настроить типы mime для файлов kml. http://code.google.com/apis/kml/documentation/kml_tut.html#kml_server

Вы пытались сжать файлы kml как файлы kmz? Вы можете сделать это с помощью zip-программы и просто вызвать файл kmz.

Вы повторяете элемент стиля в метках, но вы также можете создавать их под элементом doucment и затем просто ссылаться на них с идентификатором. http://code.google.com/apis/kml/documentation/kmlreference.html#style

1 голос
/ 07 апреля 2011

Я не уверен, что вы уже изменили KML, чтобы соответствовать некоторым из предыдущих предложений, но ...

  • Файл KML кажется довольно минималистичным, что хорошо. Я собирался предложить сократить десятичные точки на широте / долготе.
  • Вы можете сжать как KML-файл до KMZ, как упоминалось в предыдущем постере. Дополнительную информацию можно найти здесь: http://code.google.com/apis/kml/documentation/kml_tut.html#kml_server Вам также потребуется настроить тип MIME KMZ на вашем сервере.
  • Вы можете уменьшить количество пробелов в вашем файле KML. Кажется, есть дополнительные пробелы, когда не требуется ...
  • Вы можете настроить свой веб-сервер так, чтобы он отправлял кэшированные версии файла KML ... Я не уверен, какой тип серверной части вы используете, хотя я не могу точно указывать. Это может быть причиной, по которой маркеры не отображаются. Сервер Google отключит ваш запрос, если он займет слишком много времени.

Что касается вашего вопроса о решении для отображения общего количества маркеров в области для увеличения: Я думал, что вы могли бы для каждого уровня масштабирования, проверить границу карты и затем отображать только маркеры, которые имеют координаты на этой границе. Вам, вероятно, придется написать какую-то функцию, которая проверяет, находится ли она на границе. Я не знаю ни одного способа получения маркеров из файла KML как объектов, если вы сами не анализируете KML вручную с помощью анализатора на стороне клиента.

Чтобы определить, почему ваши маркеры не загружаются, попробуйте использовать FireBug для определения запросов к серверам Google. И посмотрите, какой ответ возвращается, что может привести к большему количеству ответов на вашу проблему. Я считаю, что вам нужно искать KmlOverlayService.

Надеюсь, это поможет.

...