разработка находящегося на местоположении/карте веб-сайта

Я хочу начать разрабатывать основанный на карте веб-сайт. Сначала я заказал отрегулировать устройство Gps только для тестирования сайта, позже я хотел бы использовать gps iPhone и другие устройства ячейки. Таким образом, мне нужно что-то довольно универсальное.

Я искал сеть основанную на карте платформу разработки и придумал слишком многих из них: Гео-сервер, сервер Карты, уровни Open, Geoext, API карт Google, и т.д.

Я не закаленная сеть developr (больше вида C++ парня), таким образом, мне нужно что-то довольно простое, хотя устойчивый одновременно. Кроме того, мне нужен тот, который свободен, и не будет иметь лицензирования проблемы в будущем.

Сначала мне просто нужны основные возможности как отображение данных gps на моем веб-сайте в режиме реального времени.

Может кто-то испытал, рекомендуют тот?

Спасибо

7
задан Idan 19 June 2010 в 13:07
поделиться

7 ответов

Клиент

Я бы выбрал OpenLayers - это клиентская библиотека JavaScript с открытым исходным кодом, аналогичная Google Maps API или Bing API. Однако OpenLayers избавит вас от проблем с лицензированием или изменением API, поскольку исходный код доступен и может быть изменен - это не относится к API Google/Bing/Yahoo. Однако вы можете использовать данные этих сервисов в качестве слоев в OpenLayers и удалять их, если они вдруг заполнятся рекламой или будут иметь коммерческие ограничения.

Посмотрите примеры, чтобы понять, есть ли среди них тот, который вы можете использовать для создания своего первого тестового приложения - http://openlayers.org/dev/examples/

GeoExtJS - это коллекция дополнительных инструментов и виджетов, которые работают с OpenLayers, построенная поверх другого JavaScript фреймворка ExtJS - также с открытым исходным кодом. ExtJS в основном используется для построения пользовательских интерфейсов - форм ввода данных, сеток и т.д. с использованием JavaScript, для отображения в браузере.

Если вам нужны древовидные структуры для включения и выключения слоев и другие более продвинутые виджеты пользовательского интерфейса, то стоит обратить внимание на GeoExtJS.

Сервер

Если вы отображаете только точки, вы можете создать динамический KML или GeoJSON на вашем веб-сервере и ссылаться на него в OpenLayers. На всех языках есть библиотеки, на которые можно опираться. Python стал одним из ключевых языков в геопространственных технологиях, и в нем есть библиотеки GeoJSON, с помощью которых можно создавать сценарии.

GeoServer и MapServer - это серверные программы, которые позволяют вам предоставлять пространственные данные из баз данных с символами, маркировкой и т.д. Если у вас много различных наборов данных, то стоит потратить время на их настройку.

MapServer написан на C++, поэтому вам, вероятно, будет проще попробовать это сделать - однако вы можете обойтись и без специализированного программного обеспечения на стороне сервера, особенно если ваши данные состоят из значений X,Y / Lon,Lat, которые можно легко отобразить в виде точек.

5
ответ дан 6 December 2019 в 15:18
поделиться

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

Текущая версия API поддерживает получение информации о географическом местоположении для мобильных устройств .

1
ответ дан 6 December 2019 в 15:18
поделиться

Я использую Bing Maps для мобильных устройств. В основном потому, что он быстрый и предоставляет гораздо более привлекательные карты, 3D-модели и спутниковые снимки для Великобритании, чем карты Google.

У меня также были проблемы с тем, что Google изменил свой сервис, чтобы предоставить некоторые улучшения, и это нарушило мое приложение, хотя, по крайней мере, с Bing API учитывается немного большая совместимость с существующими приложениями. Не то чтобы мне не нравились карты Google, я люблю. Это резервная служба для меня.

Я генерирую карты от обоих поставщиков, Bing в качестве основного, Goole вторичный ... это означает, что если они не работают в автономном режиме, что случается, мои пользователи все равно могут использовать мое приложение.

Вот ссылка на Bing Maps Dev на WIndows Phone, например

1
ответ дан 6 December 2019 в 15:18
поделиться

Для начала (вы сказали, что вам нужно показывать положение GPS в реальном времени) Я думаю, что Google Maps здесь хороший вариант.Это решение имеет очень простой API, и поддержка сообщества также является преимуществом (я никогда не сравнивал с чем-то другим, но у меня есть хороший опыт работы с GMaps и его учебными пособиями / ресурсами). Это для стороны клиента, для стороны сервера любая веб-платформа должна выполнять свою работу (я использую Django, и у него также есть дуппорт для некоторых гео-вещей - упомянутых позже в этом ответе).

Вероятно, вам нужно создать приложение, которое следует этим правилам:

  1. Ваше устройство GPS периодически отправляет данные на ваш сервер (веб-приложение), данные хранятся в базе данных.
  2. Пользователи используют браузер для отображения данных с картой (например, Google Map), которая периодически обновляет позицию через некоторый запланированный интервал (например, ajax обращается к серверу для получения самой последней позиции). Каждый раз при получении ответа карту необходимо обновлять.

Не знаю, есть ли более специализированные решения для этого случая.

Если вам нужно улучшить свое приложение и добавить некоторые функции, вам нужно подумать о более сложных географических структурах. Я слышал некоторые положительные отзывы о GeoDjango , в основном потому, что его можно легко интегрировать с Django (который очень прост в изучении и имеет множество возможностей).

Все упомянутые здесь технологии бесплатны.

5
ответ дан 6 December 2019 в 15:18
поделиться

Я бы посмотрел на Cloudmade . У них есть ряд API, бесплатные и платные опции, и они используют OpenStreetMap, который для многих мест является одним из самых точных картографических решений.

1
ответ дан 6 December 2019 в 15:18
поделиться

бесплатно, с открытым исходным кодом: www.openstreetmap.org,

Вы также можете создать свой собственный сервер, используя ту же технологию:

http://weait.com/content/build-your-own-openstreetmap-server

API: http://wiki.openstreetmap.org/wiki/OpenLayers

1
ответ дан 6 December 2019 в 15:18
поделиться

Хотя он все еще находится в черновой форме, HTML5 будет поддерживать API геолокации . Большинство основных браузеров и портативных устройств должны поддерживать его в ближайшем будущем и должны значительно упростить жизнь разработчикам, которым требуется сервисно-независимое решение. Однако вам все равно понадобится картографическая служба, такая как карты Google, если вам нужно отображать местоположения.

function showMap(position) {
  // Show a map centered at (position.coords.latitude, position.coords.longitude)
}

// One-shot position request.
navigator.geolocation.getCurrentPosition(showMap);

РЕДАКТИРОВАТЬ:

Он уже поддерживается в нескольких основных браузерах:

  • Mozilla Firefox: поддерживается в Firefox 3.5 и более поздние версии.
  • Chrome: Поддерживается через Google Gears API геолокации
  • Opera: Поддерживается в ночные сборки
  • Safari: Поддержка скоро появится в Safari для iPhone браузер.
  • Internet Explorer: экспериментальная поддержка доступна от IE8.
0
ответ дан 6 December 2019 в 15:18
поделиться
Другие вопросы по тегам:

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