Вызов приложений Google Map из приложения Android для определения направления движения - PullRequest
4 голосов
/ 02 апреля 2011


Мне нужно показать направление движения с помощью внешнего приложения Google Map. Я нашел эту ссылку http://developer.android.com/guide/appendix/g-app-intents.html, но ниже открывается приложение «Карты» в указанном месте

    Uri uri = Uri.parse("geo:13.070984,80.253639");
    Intent in = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(in);

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

Ответы [ 3 ]

13 голосов
/ 02 апреля 2011

да, очень легко показать направление, если у вас есть широта и долгота как источника, так и пункта назначения.Просто посмотрите следующий код:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
    Uri.parse("http://maps.google.com/maps?saddr="+latitude_source+","+longitude_source+"&daddr="+latitude_dest+","+longitude_dest));

    startActivity(intent);

Где latitude_source=Latitude вашего источника longitude_source=Longitude вашего источника latitude_dest=Latitude вашего пункта назначения longitude_dest=Longitude вашего пункта назначения

Просто замените эти значенияс вашими фактическими данными..Используйте приведенный выше код для какого-то конкретного события.

Надеюсь, это поможет вам.

0 голосов
/ 02 июня 2012

Вы можете получить маршрутизацию между двумя местоположениями по следующему URL.

https://maps.google.com/maps?saddr=kedah&daddr=johor

saddr - это начало, а daddr - пункт назначения.

Пример кода:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(String.format("http://maps.google.com/maps?saddr=kedah&daddr=johor")));
startActivity(intent);
0 голосов
/ 02 апреля 2011

Я реализовал это, запустив намерение, использующее URL-адрес Google Maps - приложение «Карты» подхватывает его, и оно работает. Я думаю, что это официально не рекомендуется, но у меня хорошо работает.

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(String.format(http://maps.google.com/maps?saddr=%s&daddr=%s, startAddress, endAddress)));
startActivity(intent);

Вышеуказанное работает для NAMES местоположения, вам может потребоваться настроить его, чтобы использовать значения lat / long. Вот пример URL-адресов Google Maps между двумя точками широты и долготы, которые будут полезны: http://maps.google.co.uk/maps?f=d&source=s_d&saddr=A685&daddr=M40&hl=en&geocode=FazjPwMdRKPc_w%3BFeS8GgMdNMfr_w&mra=me&mrsp=1,0&sz=5&sll=53.800651,-4.064941&sspn=22.244994,67.631836&ie=UTF8&t=h&z=5

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