OpenLayers по сравнению с Google Maps? [закрытый]

Используйте инструмент как PeerGuardian, который запрещает входящие соединения TCP/IP на уровне драйвера к дюйм/с на черном списке. Очень безопасный, никакой требуемый код (возможно: очень безопасный, , потому что никакой требуемый код).

169
задан Community 23 May 2017 в 11:54
поделиться

7 ответов

Это не обязательно вопрос OpenLayers ИЛИ Google Maps. В конце концов, вы можете использовать Google Maps для фона вашей карты в OpenLayers. Некоторые более конкретные ответы:

Почему OpenLayers?

  • OpenLayers может комбинировать карты из разных источников (фон Google Maps, наложения WMS, векторные данные из файлов KML, GML или WFS и т. Д.)
  • Вы можете стилизовать OpenLayers гораздо больше, чем вы can Google Maps
  • Открытый исходный код, вы можете проверить исходный код при отладке
  • Если вам нужна высокая точность карт, используйте OpenLayers с подходящей серверной частью картографического сервера, а не Google Maps, чтобы получить лучшую проекцию карты (Google Maps предполагает, что Земля представляет собой идеальную сферу)

Ловушки

  • Если вы хотите использовать векторные (WFS) данные с другого сервера, вам понадобится прокси, из-за ограничений межсайтового скриптинга

Производительность

  • Зависит в основном от скорости серверной части карты
  • Отображение многих векторных функций (ограничение зависит от браузера, но, скажем,> 200 для одного вида) требует времени, но это больше проблема с браузером, чем с OpenLayers

JavaScript-фреймворками

  • Взгляните на GeoExt , например ExtJS + OpenLayers

Доступные карты

  • OpenLayers не поставляется с бэкэнд карты. Вы можете использовать Google Maps, Yahoo Maps, MS Virtual Earth и т. Д. Или любую службу WMS и WFS, у которой есть доступ к
35
ответ дан 23 November 2019 в 20:52
поделиться

Я не видел особого присутствия пользователей OpenLayers на SO, но они там есть. Списки рассылки OpenLayers довольно активны (я нахожусь в Users и Dev и вижу от 50 до 100 писем в день, где обсуждаются разные вещи. Вы можете искать списки из этих ссылок тоже.).

Я не могу ответить на все ваши вопросы, но скажу, что OpenLayers и карты Google не подходят t взаимоисключающие. OpenLayers - это библиотека javascript, и вы можете использовать ее для взаимодействия с картами Google. Посмотрите этот пример: OpenLayers с использованием карт Google . А вот основная страница примеров OpenLayers .

23
ответ дан 23 November 2019 в 20:52
поделиться

Это действительно зависит от того, для чего вы хотите использовать карту. Чтобы просто нанести точки на карту, подойдет Google Maps. Слои карты для Google Maps также довольно подробны. OpenLayers, с другой стороны, предлагает гораздо больше функциональных возможностей и очень расширяемый.

OpenLayers предлагает множество примеров, с которых вы можете начать.

Что касается карт, OpenLayers - это всего лишь API, поэтому вам нужно предоставить его, чтобы отображать слои. API Карт Google будет ограничен слоями карты, предоставленными Google. С OpenLayer вы можете отображать практически любой общедоступный картографический сервис (WMS, WFS, TMS, WMS-C). Очень хороший пример - openstreetmap.org - (глобальная карта улиц, собранная сообществом). OSM может быть добавлен к открытым слоям как уровень TMS. См. Инструкции в этом примере .

12
ответ дан 23 November 2019 в 20:52
поделиться

Это действительно отличные вопросы! Я профессиональный разработчик и поклонник OpenLayers, поэтому отвечу на ваши вопросы с этой точки зрения.

Почему я должен использовать OpenLayers вместо Google Maps?

  • Гибкость: вы не привязаны к какому-либо конкретному поставщику карт или технологии . Вы можете изменить в любое время и вам не придется переписывать весь код. Google, Yahoo, Microsoft, WMS, ArcGIS Server, MapServer и т. Д. Поддерживаются из коробки.
  • Поддержка векторов: улучшенная поддержка точек, ломаных линий и многоугольников.
  • Управление: у вас есть возможность добавлять любые новые функции, которые могут вам понадобиться. Я' Я лично написал три плагина для OpenLayers, два из которых являются или будут частью исходного кода.
  • Отладка: Намного проще отлаживать, когда вы можете пошагово просматривать исходный код!

Я бы не стал беспокоиться о длинных -срочная жизнеспособность проекта. Это лучшая библиотека для отображения на стороне клиента с открытым исходным кодом.

Есть ли какие-нибудь общие подводные камни / проблемы, с которыми я могу столкнуться?

  • Самая большая ошибка, с которой я столкнулся, - это работа с проекцией Web Mercator (Google). Отображение векторных данных, которые находятся в обычной и реальной проекции, например WGS 84 , на карту OpenLayers с использованием базовых карт Google, Yahoo и Microsoft может быть затруднительно. Примеры - ваш друг.

Совместимость с фреймворком JavaScript

  • Я использую фреймворк jQuery для всей своей работы, и единственная проблема, с которой я столкнулся, - это ссылка на jQuery после OpenLayers. В остальном все идет гладко.
  • Производительность отличная! Единственные проблемы будут с вашим картографическим сервером или добавлением слишком большого количества векторов на вашу карту.

Есть ли карты для многих мест?

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

Есть ли какой-нибудь API для отображения дорог?

  • Я бы попробовал CloudMade! Они преобразовали проект OpenStreetMap в сервис листов карты и позволяют настраивать стили. Я считаю, что вы можете стилизовать улицы с односторонним движением (на вашем примере) определенным образом. Зона разработчика CloudMade .

Знаете ли вы какое-нибудь хорошее руководство по OpenLayers?

Надеюсь, это будет полезно. И если у вас есть вопросы, я буду рядом с Stack Overflow!

158
ответ дан 23 November 2019 в 20:52
поделиться

Некоторые клиенты могут отказаться или иметь серьезные оговорки в отношении использования Карт Google. У них могут быть обоснованные опасения, что Google может разместить рекламу или изменить API без предварительного уведомления. Однако у Google Maps есть преимущество интеграции с другими сервисами Google (метки, добавление фотографий, сервисы геокодирования). Поскольку это Интернет, вы всегда можете комбинировать множество различных картографических сервисов и API.

9
ответ дан 23 November 2019 в 20:52
поделиться

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

Использование клиентов:

  • Что вы, клиенты, использовали в настоящее время? Изменения могут быть трудными.
  • Какая функциональность вам действительно нужна? OpenLayers имеет немало, но если вы его не используете ...

Обслуживание данных:

  • Вы обслуживаете данные KML ? Если это так, с ним будут работать как OpenLayers, так и Google Maps, и вам, вероятно, придется принимать решение на основе использования клиента.

  • Вы обслуживаете другие типы услуг передачи данных? (WMS, WFS, CSV и т. Д.) Если это так, то очень вероятно, что у OpenLayers есть примеры и поддержка для этого.

3
ответ дан 23 November 2019 в 20:52
поделиться

Согласен со всеми ответами, но есть один очень важный момент, о котором никто не упоминает. OpenLayers и Google Maps имеют разные цели.

OpenLayer — отличная платформа для отображения геоданных, но Google Maps — это пул сервисов, который включает в себя платформу для отображения геоданных среди других сервисов.

Таким образом, Карты Google предоставляют множество сервисов и функций, которых нет в OpenLayes. Некоторыми примерами функций и услуг Google Maps являются региональная локализация, обнаружение датчика (для устройства с GPS) и локализация пользователя, геокодирование и обратное геокодирование, просмотр улиц и т. д.

9
ответ дан 23 November 2019 в 20:52
поделиться
Другие вопросы по тегам:

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