Добавление точек в мобильное приложение, которое использует Google Maps API 3.0 - PullRequest
0 голосов
/ 30 марта 2011

Я работаю над приложением для платформ Android и iOS.Мой клиент требует, чтобы приложение имело функциональность «добавить направления».Допустим, в моем приложении установлены точки TO и FROM, и я хочу показать лучший маршрут между этими двумя точками.Если это просто эти два пункта, то все в порядке.Есть много ресурсов о том, как действовать.Но если я хочу добавить несколько дополнительных указаний, таких как GO THROUGH, например, у меня нет ответов.Если бы вы могли указать мне какие-либо приложения (должны использовать Google Maps) для мобильных платформ, где эта функциональность работает, было бы здорово.Может быть, у вас есть какая-то документация или другие материалы на эту тему.

Спасибо, Майк (Польша)

Ответы [ 2 ]

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

В Google Maps api v3 есть редактор направлений. Вы можете визуализировать поллинию между двумя точками и сделать так, чтобы она была перетаскиваемой, т.е. вы можете выбрать пинту вдоль маршрута и переместить ее как путевая. см. документацию API.

альтернативно вы можете захватывать события щелчков на карте, добавлять проталкивать местоположение в массив остановок для передачи запроса маршрутизации.

0 голосов
/ 30 марта 2011

попробуйте отформатировать URI как: от: 50.74,14.00889 + к: 51.66444,17.85679 + к: 52.66444,17.85679 Вы можете добавить столько + к терминам, сколько хотите

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

    StringBuilder urlString = new StringBuilder();
    urlString.append("http://maps.google.com/maps?f=d&hl=de");
    urlString.append("&saddr=");//from
    urlString.append( Double.toString((double)src.getLatitudeE6()/1.0E6 ));
    urlString.append(",");
    urlString.append( Double.toString((double)src.getLongitudeE6()/1.0E6 ));
    urlString.append("&daddr=");//to
    urlString.append( Double.toString((double)dest.getLatitudeE6()/1.0E6 ));
    urlString.append(",");
    urlString.append( Double.toString((double)dest.getLongitudeE6()/1.0E6 ));
    urlString.append("&ie=UTF8&0&om=0&output=kml");

Вы должны иметь возможность добавить некоторые путевые точки в указанном формате.

        urlString.append("+to:")
        urlString.append( Double.toString((double)waypoint.getLatitudeE6()/1.0E6 ));
        urlString.append(",");
        urlString.append( Double.toString((double)waypoint.getLongitudeE6()/1.0E6 ));
...