Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Самый простой способ работы с картами в Xamarin.Android — использовать встроенное приложение Maps, показанное ниже:
При использовании приложения Maps карта не будет частью приложения. Вместо этого приложение запустит приложение Maps и загрузит карту извне. В следующем разделе рассматривается использование Xamarin.Android для запуска карт, аналогично этому примеру.
Создание намерения
Работа с приложением Maps так же проста, как создание намерения с соответствующим URI, установка действия в ActionView и вызов метода StartActivity. Например, следующий код запускает приложение Maps на точке с заданными широтой и долготой:
var geoUri = Android.Net.Uri.Parse ("geo:42.374260,-71.120824");
var mapIntent = new Intent (Intent.ActionView, geoUri);
StartActivity (mapIntent);
Этот код — все, что необходимо для запуска карты, показанной на снимке экрана выше. В дополнение к указанию широты и долготы, схема URI для Maps поддерживает несколько других параметров.
Схема URI геообъекта.
В коде выше использована географическая схема для создания универсального кода ресурса (URI). Эта схема URI поддерживает несколько форматов, перечисленных ниже.
geo:latitude,longitude
— открывает приложение карт в центре lat/lon.geo:latitude,longitude?z=zoom
— открывает приложения карт, центрированные на lat/lon, и масштабируются до указанного уровня. Масштаб может находиться в диапазоне от 1 до 23, где 1 соответствует отображению всей планеты Земля, а 23 — максимальному увеличению масштабаgeo:0,0?q=my+street+address
— открывает приложение карт с расположением адреса улицы.geo:0,0?q=business+near+city
— открывает приложение карт и отображает аннотированные результаты поиска.
Версии URI, которые принимают запрос (почтовый адрес или условия поиска), используют службу геокодирования Google для получения расположения, которое затем отображается на карте. Например, универсальный код ресурса (URI) geo:0,0?q=coop+Cambridge
приводит к отображению показанной ниже карты:
Дополнительные сведения о схемах URI геообъектов см. в статье Отображение расположения на карте.
Просмотр улиц
Помимо геосхемы, Android также поддерживает загрузку представлений просмотра улиц из намерения. Ниже приведен пример приложения для просмотра улиц, запускаемого из Xamarin.Android.
Чтобы запустить просмотр улиц, просто используйте схему универсального кода ресурса (URI) google.streetview
, как показано в коде ниже:
var streetViewUri = Android.Net.Uri.Parse (
"google.streetview:cbll=42.374260,-71.120824&cbp=1,90,,0,1.0&mz=20");
var streetViewIntent = new Intent (Intent.ActionView, streetViewUri);
StartActivity (streetViewIntent);
Использованная выше схема URI google.streetview имеет следующий вид:
google.streetview:cbll=lat,lng&cbp=1,yaw,,pitch,zoom&mz=mapZoom
Как видите, поддерживаются несколько параметров, как показано ниже.
lat
— Широта расположения, отображаемого в представлении улицы.lng
— долгота расположения, отображаемого в представлении улицы.pitch
— Угол панорамы уличного представления, измеряемый от центра в градусах, где 90 градусов прямо вниз и -90 градусов прямо вверх.yaw
— Центр представления вид на улицу панорама, измеряемый по часовой стрелке в градусах от Севера.zoom
— умножение масштаба для панорамы представления улицы, где 1,0 = обычный масштаб, 2,0 = увеличено 2x, 3,0 = увеличено 4x и т. д.mz
— уровень масштабирования карты, который будет использоваться при переходе к приложению карт из представления улицы.
Работа со встроенным приложением Maps или просмотром улиц — это простой способ быстрого добавления поддержки карт. Однако Maps API в Android обеспечивает более тонкие возможности при работе с картами.