Позволяет ли какая-либо карта API получить точную область? - PullRequest
1 голос
/ 30 июня 2009

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

Предложения

Ответы [ 4 ]

2 голосов
/ 30 июня 2009

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

Однако, если вам просто нужно приблизиться, API статических карт Google предоставляет метод для указания области просмотра , устраняя необходимость устанавливать уровень масштабирования самостоятельно. Все, что вам нужно, это центральная точка и пролет. Если вы хотите, чтобы область от SW (30,70) до NE (40,60), центр был бы (35,65), а диапазон будет (5,5).

http://maps.google.com/staticmap?center=35,65&span=5,5&size=400x400&key=MAPS_API_KEY&sensor=false

Обратите внимание, что вы получите разные результаты в зависимости от требуемого размера изображения.

2 голосов
/ 30 июня 2009

Да. У Google есть API Статических Карт, который делает именно это. В основном это просто URL с широтой, долготой и уровнем масштабирования, передаваемыми в качестве параметров (и целого ряда других переменных). Вы можете прочитать об этом в документации Google Maps API .

Вот пример того, что вы можете сделать:

image

С URL:

http://maps.google.com/staticmap?center=40,26&zoom=1&size=150x112&maptype=satellite&key=ABQIAAAAgb5KEVTm54vkPcAkU9xOvBR30EG5jFWfUzfYJTWEkWk2p04CHxTGDNV791-cU95kOnweeZ0SsURYSA&format=jpg

Редактировать: согласно вашему комментарию. Ближайшая к квадратной форме 30,40 лат 60,70 lng - центр 35,65 zoomlevel 6. У меня создан пример изображения 400x400 . Просто измените ключ в следующем URL, чтобы получить статическое изображение карты:

http://maps.google.com/staticmap?center=35,65&zoom=6&size=400x400&key=<your key here>&format=jpg

Спасибо ChrisB за указание параметра span (я раньше такого не видел). Я обновил пример с помощью версии URL-адреса span:

http://maps.google.com/staticmap?center=35,65&span=5,5&size=400x400&key=<your key here>&sensor=false

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

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

0 голосов
/ 02 января 2012

Используйте запрос OGC WMS GetMap , чтобы получить изображение

Эта страница объясняет, как получить это изображение. Изображение от DEMIS, но есть тысячи провайдеров с услугами WMS

enter image description here

Я рекомендую DEMIS , но вот несколько списков бесплатных услуг WMS.

0 голосов
/ 21 июля 2009

http://wiki.openstreetmap.org/wiki/MapOf

Однако речь идет об OpenStreetMap

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...