Масштабируемость KML? Используйте KML, чтобы показать и отфильтровать 1600+ точек в Android? - PullRequest
2 голосов
/ 12 ноября 2010

Ребята, скажите, сработает ли это решение, прежде чем я потрачу много времени на изучение / исследование KML?(Похоже, что в какой-то момент мне нужно изучить его, но сначала у меня есть крайний срок.)

Справочная информация - мне нужно нанести 1662 точки на карте, которые делятся на 7 категорий.Я хотел бы показать все, а также фильтровать / показывать только те категории, которые выбирает пользователь.

В моей первой попытке использовался API Карт Google.Я создал GeoPoints, добавил их в ItemizedOverlay, а затем добавил ItemizedOverlay на карту.Это отлично работает на несколько баллов.100 очков заняли всего 3 секунды.К тому времени, когда я набрал 400 очков, все действительно начало замедляться (примерно 30 секунд или около того).Я загрузил все 1662, и это заняло 15 минут!

1) Почему это занимает так много времени?Делает ли API вызов Google Maps для каждой точки?

2) Я нашел KML в качестве возможной альтернативы.Насколько хорошо масштабируется KML?Сможет ли он построить и загрузить 1600+ точек?Если нет, можете ли вы порекомендовать другое решение?

3) Как вы рекомендуете фильтровать мои категории?В настоящее время я планирую загрузить каждую категорию в слой.Я нашел ссылки на скрытие / отображение слоев, поэтому я попытаюсь это сделать.Это хороший подход?

4) Как добавить кнопки?Могу ли я добавить их в оверлей?Если нет, возможно ли открыть карту в MapView, а затем управлять фильтром / шоу с помощью кнопок Android?

Извините, если мои вопросы звучат принципиально.Я буду продолжать исследования и учиться самостоятельно.Тем не менее, я хочу знать, сработает ли мое решение вообще, прежде чем я потрачу еще одну неделю, чтобы выйти из тупика.

Заранее спасибо!:)

1 Ответ

1 голос
/ 20 ноября 2010

Я ничего не знаю об Android, но я работаю над проектом, в котором я генерирую вывод KML из приложения Java.Я не уверен, какие у вас есть ограничения при работе с Android Java, но если вы можете, вы должны попробовать следующую библиотеку с открытым исходным кодом:

JAK - Java API для KML

Это сделает создание KML довольно простым.Я не могу ответить на ваш вопрос о масштабируемости на Android, поскольку у меня нет опыта работы с ним.

...