Привет, у меня есть адрес собственности, и мое приложение может запустить браузер, чтобы перейти к http://maps.google.com?q=searchStringHere. Если будет найдено подходящее совпадение, оно возьмет его прямо туда. Есть ли что-нибудь, что я могу добавить к URL-адресу, чтобы он переключился на просмотр улиц, не имея точных координат? Я не хочу кодировать javascript или flash.





К сожалению, нет - нет простого ответа, основанного на адресе.
Во-первых, список параметров для сайта Google Maps задокументирован здесь, поэтому вы можете использовать его в качестве отправной точки.
Самая простая часть состоит в том, что вам нужно выбрать слой с видом на улицу «& layer = c».
Однако, прежде чем что-либо отобразится на этом слое, вам нужно указать, где находится ваше представление. Вы устанавливаете положение по широте и долготе в cbll и углу камеры с некоторыми параметрами в cbp.
Чтобы получить широту и долготу из адреса, вам нужно использовать служба геокодирования, например API карт Google.
Однако это позволит вам увидеть улицу только рядом с адресом. Помимо знания того, откуда должен быть вид на улицу, вам также необходимо знать, под каким углом навести камеру - он будет разным для каждого адреса, в зависимости от того, где была ближайшая точка, откуда камера StreetView сделала снимок, поэтому это непросто сделать автоматически (с любой доступной информацией ...)
Рад, что у вас получилось. Как я уже упоминал, вам все еще нужно получить углы для переменной cbp, но, по крайней мере, вы получите нужное место. Тем не менее, как минимум "& cbp = 12 ,,,," дает вам что-то посмотреть.
Ссылка список параметров не работает.
@Knownasilya Спасибо - Кто-то, кажется, отразил его на asnsblues.blogspot.com.au/2011/11/…, но я постараюсь найти авторитетный источник ...
В таком случае, как работают такие сайты, как imstreetview.com и Instantstreetview.com?
@Bavan Хороший вопрос, интересные сайты. Ответ, который я дал в 2008 году, был правильным - с тех пор они, возможно, добавили эту информацию в API геокодирования или API карт Google. Я когда-нибудь проверю и посмотрю, смогу ли я в этом разобраться.
Создание URL-адреса просмотра улиц Google
Базовый URL-адрес карты Google http://maps.google.com/maps?q=
q = Запрос - все, что передается в этом параметре, обрабатывается так, как если бы оно было введено в поле запроса на странице maps.google.com.
Основной URL-адрес для отображения местоположения шнуров GPS
http://maps.google.com/maps?q=31.33519,-89.28720
http://maps.google.com/maps?q=&layer=c
layer = Активирует наложения. Текущие варианты: движение «t», просмотр улиц «c». Добавьте (например, layer = tc) для одновременного использования.
http://maps.google.com/maps?q=&layer=c&cbll=
cbll = широта, долгота для просмотра улиц.
http://maps.google.com/maps?q=&layer=c&cbll=31.33519,-89.28720
http://maps.google.com/maps?q=&layer=c&cbll=31.335198,-89.287204&cbp=
cbp = Окно просмотра улиц, которое принимает 5 параметров:
Просмотр улиц / расположение карты, 11 = верхняя половина Street View и нижняя половина карты, 12 = в основном Street View с угловой картой
Угол поворота / пеленг (в градусах)
Угол наклона: от -90 (прямо вверх) до 90 (прямо вниз)
Уровень масштабирования, 0-2
Шаг (в градусах) от -90 (прямо вверх) до 90 (прямо вниз), по умолчанию 5
Ниже приведено следующее: (11) верхняя половина Street View и нижняя половина карты, (0) лицом на север, (0) прямо вперед, (0) нормальный масштаб, (0) шаг 0
Этот работает как есть, просто замените шнуры, и если вы хотите смотреть в другом направлении (0 после 11) http://maps.google.com/maps?q=&layer=c&cbll=31.335198,-89.287204&cbp=11,0,0,0,0
Дополнительные сведения об интерпретации кода Google Street View
Использование параметров layer = c & cbll =, по крайней мере, все еще у меня работает.
См. Мой ответ ниже для получения последней версии Get-API Google Street View (10/2018). (Дополнение к этому выше было отклонено.)
Август 2019 г. Просмотр улиц с url-адреса с lat / lon и layer = 'c' работает в iOS, macOS, не работает в Android? Android удалил параметры запроса
Это не ответ на исходный вопрос «переключиться на просмотр улиц без точных координат».
Вы можете получить значения, нажав кнопку ссылки в верхней части просмотра улиц.
Это больше не работает. Дает ссылку без параметров типа goo.gl/maps/bCB8w3xUy4A2
GET API (см. Ответ Хейгуда) кажется устаревшим, но некоторые вызовы все еще работают.
Базовый URL:
изменен на http://www.google.com/maps (map.google.com/maps все еще работает, но перенаправляет)
Параметры:
q: игнорируется, можно пропустить Дополнительные сведения об интерпретации кода Google Street View
слой: параметр должен быть установлен на c (т больше не поддерживается и нарушает его)
cbp: по-прежнему поддерживаются только параметры 2 (угол поворота) и 5 (шаг)
игнорируется, может быть 0 или пустой строкой
Угол поворота / пеленг (в градусах)
игнорируется, может быть 0 или пустой строкой
игнорируется, может быть 0 или пустой строкой
Шаг (в градусах) от -90 (прямо вверх) до 90 (прямо вниз)
Обновленные примеры: http://www.google.com/maps?layer=c&cbll=31.335198,-89.287204
или http://www.google.com/maps?layer=c&cbll=31.335198,-89.287204&cbp=,30,,,20 с вращением 30 и шагом 20.
ОБНОВЛЕНИЕ 07/2019:
Решение от 10/2018 все еще работает для меня, но я нашел официальный документированный способ создания URL-адреса просмотра улиц:
Формирование URL-адреса просмотра улиц
https://www.google.com/maps/@?api=1&map_action=pano¶meters
Параметры
Также требуется один из следующих параметров URL:
точка зрения: средство просмотра отображает панораму, сфотографированную ближе всего к точке обзора, заданную как координаты широты и долготы, разделенные запятыми (например, 46.414382,10.013988). Поскольку изображения Street View периодически обновляются, а фотографии могут каждый раз сниматься с немного разных позиций, возможно, что ваше местоположение может привязываться к другой панораме при обновлении изображений.
панорама: конкретный идентификатор панорамы изображения для отображения. Если вы указываете панораму, вы также можете указать точку обзора. Точка обзора используется только в том случае, если Google Maps не может найти идентификатор панорамы. Если панорама указана, но не найдена, а точка обзора НЕ указана, панорамное изображение не отображается. Вместо этого Google Maps открывается в режиме по умолчанию, отображая карту с центром в текущем местоположении пользователя.
Следующие параметры URL-адреса являются необязательными:
Заголовок: указывает направление камеры по компасу в градусах по часовой стрелке с севера. Допустимые значения от -180 до 360 градусов. Если опущено, заголовок по умолчанию выбирается на основе точки обзора (если указана) запроса и фактического местоположения изображения.
подача: указывает угол наклона камеры вверх или вниз. Шаг указывается в градусах от -90 до 90. Положительные значения будут наклонять камеру вверх, а отрицательные значения - вниз. Шаг по умолчанию, равный 0, устанавливается в зависимости от положения камеры при захвате изображения. Из-за этого шаг 0 часто, но не всегда, является горизонтальным. Например, изображение, снятое на холме, скорее всего, будет иметь наклон по умолчанию, который не является горизонтальным.
fov: определяет горизонтальное поле зрения изображения. Поле зрения выражается в градусах в диапазоне от 10 до 100. По умолчанию оно равно 90. При работе с окном просмотра фиксированного размера поле обзора считается уровнем масштабирования, а меньшие числа указывают на более высокий уровень масштабирования. .
Пример 1: для указания местоположения используется только точка обзора.
Источник: https://developers.google.com/maps/documentation/urls/guide (прокрутите вниз, чтобы увидеть URL просмотра улиц)
Спасибо, что этот сайт был тем, что я искал. Проблема в том, что для просмотра улиц требуются точные координаты. Решение заключалось в том, чтобы сначала вызвать его с помощью output = kml, он отправит обратно простой xml, а затем повторно вызовет его с помощью cbll = ...