Как узнать координаты выбранного маркера на карте Google

Я хочу построить полилинию на карте Google для выбранного маркера. У меня есть около 20 маркеров, закрепленных на карте Google. Маркеры строятся на основе данных, возвращаемых Google Places API. Я сохраняю все координаты в массиве, а затем использую обратное геокодирование, чтобы получить адрес для этих конкретных координат.

Затем, чтобы использовать маркер, я вызвал метод делегата didTapMarker, и внутри этого я нажимаю API Google Directions.

Но моя проблема: - Пользователь может выбрать любой маркер независимо от значения indexPath массива, в котором хранятся координаты. Итак, как нарисовать полилинию для случайно выбранного маркера на карте Google.


person Akash KR    schedule 15.04.2016    source источник


Ответы (2)


Вы можете получить маркер, на который постучали. Используйте следующее свойство, чтобы получить его местоположение на карте.

marker.position
person Charmi Gheewala    schedule 15.04.2016
comment
Не очень помогает, ничего не возвращает. - person Akash KR; 15.04.2016

Ну как-то я это сделал.

Все, что мне нужно, это использовать свойство userData GMSMarker. Я присвоил каждому маркеру идентификатор маркера внутри "цикла for" следующим образом:

marker.userData = @{@"marker_id":[NSString stringWithFormat:@"%d",i]};

затем под делегатом didTapMarker GMSMapView я вызвал API Google Directions следующим образом

   NSDictionary *tempDic=[[NSDictionary alloc]init];
   tempDic=marker.userData;
   int value= [tempDic[@"marker_id"]intValue];

  NSString *strUrl = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/directions/json?&alternatives=true&origin=%@&destination=%@&key=%@&sensor=false",addressAt,[tempArray objectAtIndex:value],googleAPI_Key];
  //addressAt is the current location of user i.e source and for destination I called the array in which my converted address is stored
person Akash KR    schedule 15.04.2016