2016-04-15 4 views
0

Ich möchte eine Polylinie auf Google Map für ausgewählten Marker plotten. Ich habe ungefähr 20 Markierungen auf Google-Karte gepinnt. Die Markierungen werden auf der Grundlage von Daten erstellt, die von der Google Places-API zurückgegeben werden. Ich speichere alle Koordinaten in einem Array und verwende dann die umgekehrte Geocodierung, um die Adresse für diese speziellen Koordinaten zu erhalten.Wie man die Koordinaten des ausgewählten Markers auf Google Map erkennt

Dann, um Marker zu verwenden, rief ich die Delegate-Methode didTapMarker und innerhalb der ich die Google Directions-API treffen.

Aber mein Problem ist: - Benutzer kann jeden Marker unabhängig von IndexPath Wert des Arrays, in dem die Koordinaten gespeichert sind, auswählen. So zeichnen Sie eine Polylinie für einen zufällig ausgewählten Marker in Google Map.

Antwort

0

Nun, irgendwie habe ich es getan.

Alles was ich brauche, ist die userData Eigenschaft von GMSMarker zu verwenden. ich jeden Marker zugewiesen ein markerID inside "for-Schleife" wie folgt aus:

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

dann unter didTapMarker Delegierter GMSMapView, rief ich die Google Directions API wie dieses

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 
0

Sie können die Markierung erhalten, die angezapft wurde. Verwenden Sie die folgende Eigenschaft, um den Standort auf der Karte abzurufen.

marker.position 
+0

nicht viel helfen, es gibt nichts zurück. –

Verwandte Themen