Оверлейные программы Google Maps

Ваша первая проблема заключается в том, что вы переписываете $range при каждом проходе цикла с помощью следующей строки:

$range = [];

Вы должны переместить эту строку за пределы цикла. т.е.

$wa_startindex = 0;
$range = [];
while(!$reservALL->atEnd()) {
    ...

У вас также есть проблемы с загрузкой данных в $range. Вы помещаете в него массивы вместо отдельных значений. Измените этот код:

foreach ($dateRange as $date) {
    $range[] = $date->format($format);
    $result = array_unique($range, SORT_REGULAR);
}
array_push($range, $result);

на

foreach ($dateRange as $date) {
    $range[] = $date->format($format);
}

, а затем в конце цикла вызовите array_unique:

    ...
}
$range = array_unique($range);
$reservALL->moveFirst(); //return RS to first record
7
задан theraccoonbear 8 October 2008 в 19:02
поделиться

5 ответов

Можно хотеть изучить что-то как Geoserver или Mapserver. Они - клоны карты Google, и многое другое.

Вы могли генерировать наложение, которое Вы любите, и Геосервер (я думаю, что mapserver делает также), может дать Вам KML, PDF, png, и другой вывод для смешивания карт, или Вы могли генерировать целую карту собой, но это занимает время.

4
ответ дан 7 December 2019 в 07:52
поделиться

Не уверенный, почему Вы хотите перейти к наложению GIF/PNG, можно сделать это непосредственно в KML. Я предполагаю, что большая часть Вашей проблемы производительности вызывалась точками вне текущего представления пользователя, т.е. пользователь смотрит на Нью-Йорк, но у Вас есть точки в Лос-Анджелесе, которые тратят впустую память, потому что они не видимы. Если у Вас действительно будет 16 000 точек, которые все видимы сразу для типичного затем да, то необходимо будет преследовать другую стратегию.

Если бы вышеупомянутое применяется, процедура была бы следующие:

  1. Определите центр и степень карты
  2. Учитывая, что необходимо смочь вычислить lat/long левых верхних углов и правые нижние углы карты.
  3. Выполните итерации через свою базу данных точек и проверьте каждое местоположение по этим двум углам. Долгота должна быть больше (подписанный!), чем верхняя левая долгота и меньше, чем нижняя правая долгота. Широта должна быть меньше, чем верхняя левая широта (подписанный!) и больше, чем нижняя правая широта. Просто простые сравнения, никакие необычные вычисления, требуемые здесь.
  4. Произведите точки соответствия к временному KML для пользователя.
  5. Можно подать KML непосредственно в Google Maps и позволить ему отобразить его, или можно использовать карты JavaScript API для загрузки точек через KML.

Это не могло бы решить Вашу точную проблему здесь, но для связанных проблем Вы могли бы также изучить Google Static Maps API. Это позволяет Вам создавать файл статического изображения с placemarkers на нем, который загрузится очень быстро, но не будет иметь интерактивности обычной карты Google. Из-за пути API разработан, однако, он не может обработать в какой-либо степени 16 000 точек ни один так, что необходимо было бы все еще отфильтровать к представлению.

2
ответ дан 7 December 2019 в 07:52
поделиться

Я не знаю, как тариф, который Вы со своим проектом, но возможно можно смотреть на GeoDjango? Это изменило выпуск Django, включает все виды инструментов для хранения местоположений; преобразуйте координаты и карты дисплея, простой способ. Offcourse Вам нужны некоторый опыт Python и сервер для работы его, но после того как Вы приобрели навык Django, он работает быстрый и хороший.

Если Вы просто хотите решение для своей попытки задач группировать Ваши результаты на более низких уровнях масштабирования, хороший пример этой реализации может быть найден здесь.

1
ответ дан 7 December 2019 в 07:52
поделиться

OpenLayers является большой JavaScript frontend к нескольким услугам по отображению или Вашим собственным серверам карты. Версия 2.7 была просто выпущена, который добавляет некоторые довольно удивительные опции и средства управления.

0
ответ дан 7 December 2019 в 07:52
поделиться

Это - жесткое. Можно использовать пользовательский tilesets с Google Maps, но Вам все еще нужен некоторый способ генерировать мозаики (кроме вручную).

Я боюсь, что это - все, что я имею = /

0
ответ дан 7 December 2019 в 07:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: