гугл карта статический рисунок "маршрут" вместо прямой - PullRequest
8 голосов
/ 13 октября 2010

Мне удалось получить статическую карту Google, отображающую путь между двумя координатами.

Проблема в том, что нарисованный путь - это просто прямая линия между двумя точками.

Я читал, чточтобы иметь возможность нарисовать «маршрут» между 2 точками на статической карте Google, например, следуя географии дорог и города вместо прямой линии, мне нужно добавить все координаты / перекрестки для пути.

Кто-нибудь знает простое решение, чтобы решить эту проблему?

Ответы [ 4 ]

23 голосов
/ 15 октября 2010

Вы определенно можете сделать это с помощью API статических карт:

получить указания с помощью DirectionsService:

http://code.google.com/apis/maps/documentation/javascript/reference.html#DirectionsService

и преобразовать обзорный путь в соответствии с требованиямиAPI статических карт:

http://code.google.com/apis/maps/documentation/staticmaps/#Paths

1 голос
/ 04 апреля 2013

Используя полилинии, вы можете рисовать прямую линию.

Класс Polyline определяет линейное наложение соединенных отрезков на карте.Объект Polyline состоит из массива местоположений LatLng и создает серию линейных сегментов, которые соединяют эти местоположения в упорядоченной последовательности.

вы можете увидеть пример здесь

https://google -developers.appspot.com / карты / документация / javascript / examples / polyline-simple

о полилиниях

https://developers.google.com/maps/documentation/javascript/overlays

0 голосов
/ 06 июня 2016

Я выкопал много предложений и кодов и объединил все, чтобы сделать очень простое решение, приведенный выше код должен работать для вас:

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/directions/json?origin=%f,%f&destination=%f,%f&sensor=false&mode=driving",[startLat floatValue] ,[startLong floatValue], [endLat floatValue], [endLong floatValue]]];

NSDictionary *PathInfo;//the json of the result

NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLResponse *response = nil;
NSError *error = nil;
NSData *responseData =  [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if (!error) {
    PathInfo = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingAllowFragments error:&error];
    GMSPath *path =[GMSPath PathInfo[@"routes"][0][@"overview_polyline"][@"points"]];
    GMSPolyline *singleLine = [GMSPolyline polylineWithPath:path];
    singleLine.strokeWidth = 3;
    singleLine.strokeColor = [UIColor redColor];
    singleLine.map = mapView_;
}
0 голосов
/ 13 октября 2010

Я думаю, что вы не можете использовать эту функцию с API staticmap. Однако вы можете использовать Directions с JavaScript API V3.

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