Как получить направление движения от ответа API-адреса направления? - PullRequest
0 голосов
/ 16 января 2012

Я пытаюсь нарисовать маршрут на Google Maps в Android.Для этого я использую API направления Google, чтобы получить точки маршрута http://code.google.com/intl/de-DE/apis/maps/documentation/directions/

Теперь я хотел бы знать, как получить стрелку направления (например: повернуть налево, ...) из ответа json этогоapi.

Ответ выглядит следующим образом:

    {
 "routes" : [
  {
     "bounds" : {
        "northeast" : {
           "lat" : 48.306950,
           "lng" : 14.304310
        },
        "southwest" : {
           "lat" : 48.163440,
           "lng" : 14.033580
        }
     },
     "copyrights" : "Map data ©2012 GeoBasis-DE/BKG (©2009), Google",
     "legs" : [
        {
           "distance" : {
              "text" : "34.6 km",
              "value" : 34554
           },
           "duration" : {
              "text" : "31 mins",
              "value" : 1866
           },
           "end_address" : "Linz, Austria",
           "end_location" : {
              "lat" : 48.306950,
              "lng" : 14.285860
           },
           "start_address" : "Wels, Austria",
           "start_location" : {
              "lat" : 48.16545000000001,
              "lng" : 14.036620
           },
           "steps" : [
              {
                 "distance" : {
                    "text" : "0.3 km",
                    "value" : 252
                 },
                 "duration" : {
                    "text" : "1 min",
                    "value" : 28
                 },
                 "end_location" : {
                    "lat" : 48.164110,
                    "lng" : 14.033890
                 },
                 "html_instructions" : "Head \u003cb\u003esouthwest\u003c/b\u003e on \u003cb\u003eHans-Sachs-Straße\u003c/b\u003e toward \u003cb\u003eGemeindestr.\u003c/b\u003e",
                 "polyline" : {
                    "points" : "ai~dH{ottAHHHNN`@jBjFzBxF"
                 },
                 "start_location" : {
                    "lat" : 48.16545000000001,
                    "lng" : 14.036620
                 },
                 "travel_mode" : "DRIVING"
              },
              {
                 "distance" : {
                    "text" : "0.1 km",
                    "value" : 149
                 },
                 "duration" : {
                    "text" : "1 min",
                    "value" : 48
                 },
                 "end_location" : {
                    "lat" : 48.163440,
                    "lng" : 14.03470
                 },
                 "html_instructions" : "At the roundabout, take the \u003cb\u003e3rd\u003c/b\u003e exit onto \u003cb\u003eMagazinstr./B1\u003c/b\u003e",
                 "polyline" : {
                    "points" : "u`~dHy~stAEBCDAHAH@H@HDHB@B@D?DABADGBG@G?GAIAGvAkCP_@"
                 },
                 "start_location" : {
                    "lat" : 48.164110,
                    "lng" : 14.033890
                 },
                 "travel_mode" : "DRIVING"
              },
    .
    .
    .

Это должно быть возможно, потому что карты Google: http://maps.google.com/ использует API в том же направлении (насколько я знаю) ион рисует такие стрелки в левой части каждой записи описания маршрута (просто просчитайте любой маршрут, чтобы понять, что я имею в виду).

Я очень признателен за любую помощь

Ответы [ 2 ]

0 голосов
/ 23 апреля 2013

Это то, что я использую,

    Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("http://maps.google.com/maps?saddr="+latitude_cur+","+longitude_cur+"&daddr="+latitude+","+longitude));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_LAUNCHER );     
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
0 голосов
/ 03 мая 2012

Посмотрите на мой ответ .Это даст вам другой способ получить инструкции по направлению, используя файл KML

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