2015-09-21 3 views
2

Я новичок в разработке iPhone, в своем приложении я хочу нарисовать маршрут между двумя точками и показать несколько маркеров на моем маршруте. Теперь я закончил маршрут между двумя точками, но не знаю, как нарисовать несколько маркеров на моем маршруте. Поэтому, пожалуйста, помогите мне сделать это.маршрут маршрута с несколькими маркерами в Google Map iOS

Спасибо заранее!

_markerStart = [GMSMarker new]; 
_markerStart.title = [[[routeDict objectForKey:@"legs"] objectAtIndex:0]objectForKey:@"start_address"]; 
_markerStart.icon = newImage; //[UIImage imageNamed:@"startMarker.png"]; 
_markerStart.map = gmsMapView; 
_markerStart.position = startPoint; 

_markerFinish = [GMSMarker new]; 
_markerFinish.title = [[[routeDict objectForKey:@"legs"] objectAtIndex:0]objectForKey:@"end_address"]; 
_markerFinish.icon = newImage; //[UIImage imageNamed:@"finishMarker.png"]; 
_markerFinish.map = gmsMapView; 
_markerFinish.position = endPoint; 

Здесь я добавил маркер начала и конца.

+0

У вас завершены только графические маркеры для конечных точек? или рисовать полный маршрут? –

+0

yah..now Я хочу еще на маршруте – pritam

ответ

1

По завершении маршрута маршрута между двумя точками у вас будут координаты маршрута. Вы можете взять некоторые координаты от них и нарисовать их на Картах Google.

Для маршрута проезда, возможно, вы использовали GMSPolyline. Для полилинии вы, должно быть, использовали GMSPath. С путем вы можете получить координаты с помощью метода

-(CLLocationCoordinate2D)coordinateAtIndex:(NSUInteger)index

GMSPath Doc

Вы можете использовать эти координаты для построения маркеров на маршруте. GMSMarkers Doc

Проверить этот код (здесь gmsPath в GMSPath) EDIT:

//GMSPath *gmsPath; 
//NSString *title; 
for (int i = 0; i < [gmsPath count]; i++) { 
    CLLocationCoordinate2D location = [gmsPath coordinateAtIndex: i]; 
    GMSMarker *marker = [GMSMarker markerWithPosition:location]; 
    marker.title = title; 
    marker.icon = [UIImage imageNamed:@"marker_img.png"]; 
    marker.map = self.mapView; 
} 

Это будет сюжет маркера для каждой координаты.

+0

для условия цикла дает ошибку: недопустимые операнды для двоичного выражения – pritam

+0

Попробуйте код выше. –

+0

спасибо, что это отлично работает для меня – pritam

Смежные вопросы