Чем заменить карты Гуугл на своём сайте - простое решение
Карты компании Google хороши. Сервис GoogleMaps предоставляет владельцам сайтов возможность использовать их карты. (Как и большинство других картографических сервисов.)
Недавно возникла необходимость искать замену сервису GoogleMaps. Сервис GoogleMaps бесплатный только до определённого предела. Когда количество показов карты на вашем сайте превышает определённый лимит, за пользование сервисом придётся заплатить. Но, российские банковские карты (на момент подготовки статьи) не работают за границей, заплатить не удастся, и GoogleMaps оказался недоступным для российских владельцев сайтов.
Пришлось срочно искать замену. Заменить есть чем. Для карт территории России склоняюсь к картам Яндекса, а для других стран, возможно это будет Mapbox.
Проблема: для установки этих карт на сайт нудно "покопаться" в коде. Для непрограммиста это может быть сложно.
Но нашлось простое решение.
JОказывается, на картах созданных с АПИ GoogleMap можно вместо карты Гуугл показывать слой с бесплатной картой GoogleMap. Достаточно внести несколько исправлений в код, и всё работает, и ваши карты, и маркеры, и меню карты. Сообщение, что карту не удалось загрузить, больше не показывается.
Что нужно сделать?
В частности:
При инициализации карты указать
"mapTypeId: "OSM",
mapTypeControl: false,
streetViewControl: false".
Создать слой OSM
"//Define OSM map type pointing at the OpenStreetMap tile server
map.mapTypes.set("OSM", new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
// "Wrap" x (longitude) at 180th meridian properly
// NB: Don't touch coord.x: because coord param is by reference, and changing its x property breaks something in Google's lib
var tilesPerGlobe = 1 << zoom;
var x = coord.x % tilesPerGlobe;
if (x < 0) {
x = tilesPerGlobe+x;
}
// Wrap y (latitude) in a like manner if you want to enable vertical infinite scrolling
return "https://tile.openstreetmap.org/" + zoom + "/" + x + "/" + coord.y + ".png";
},
tileSize: new google.maps.Size(256, 256),
name: "OpenStreetMap",
maxZoom: 18"
Добавить информацию, что карта создана с использованием OpenStreetMap.
Примеры кода вы найдёте здесь - https://wiki.openstreetmap.org/wiki/Google_Maps_Example.
А работающий пример карты с заменой GoogleMaps на OpenStreetMap можно посмотреть здесь (пока не заменил на другой сервис) - https://www.visit-plus.com/map/destinations#map
Качество OpenStreetMap "неровное" для разных мест, но как быстрая замена вполне подходит, хотя бы как временное решение.
Recommended for travel lovers - our telegram channels:
Trawel worldwide telegram-chanel - https://t.me/go_vacation
Tietoja pietarista telegram-kanava - https://t.me/pietarissa
Телеграм- канал для любителей путешестаий - https://t.me/visitplus
Новые записи в блогах
- Цены влияют на наше покупательское поведение, конкретное наблюдение
- Паранойя-я-я-я-я
- Впечатления в живописи и в литературе - импрессионизм
- Природа сама всё отрегулирует, без нас
- Роботы уже начинают проявлять характер и требовать уважения к себе
- Правдивая история о том, как дачник вора нашёл
- Почему не следует смешивать информационный и коммерческий контент на веб-сайте
- Почему все так превозносят Пушкина?
- Телешоу со звёздами - обратный сценарий
- Петербург способен вытаскивать из людей то мрачное, страшное, дикое, что прячется в темницах нашей души
В связи с техническими проблемами регистрация пользователей приостановлена. Приносим извинения.