2016-09-30 34 views
3

我在我的Google地圖中繪製折線。當用戶點擊該線路時。標記將顯示和infowindow。但不是用戶正確使用它的地方。顯示標記用戶在折線中點按的位置

我如何知道用戶在該行中點擊的座標(lat,long)?

我想下面的功能正在被'didTap覆蓋」的方法

func mapView(_ mapView: GMSMapView, didTapAt coordinate: CLLocationCoordinate2D) { 
} 

感謝重寫!

回答

2

首先,我想說,你必須創建多線絲錐能:

GMSPolyline *poly = [GMSPolyline polylineWithPath:path]; 
poly.strokeColor = [UIColor purpleColor]; 

poly.tappable = TRUE; // this is important 

poly.map = self.googleMapView; 
poly.title = routestring; 

然後使用:

-(void)mapView:(GMSMapView *)mapView didTapOverlay:(GMSOverlay *)overlay{ 

NSString *path = overlay.title; 
NSArray *pathparts = [path pathComponents]; 
NSString *lat = [pathparts objectAtIndex:0]; //get lat 
NSString *lng = [pathparts objectAtIndex:1]; // get lng 
NSString *lnkID = [pathparts objectAtIndex:2]; 

// Create a marker and plot on Map 

GMSMarker *mk = [GMSMarker arkerWithPosition:CLLocationCoordinate2DMake([lat doubleValue],[lng doubleValue])]; 
mk.title = overlay.title; 
mk.snippet = @"ROUTE DATA"; 
mk.map = self.googleMapView; 

//This will popup a marker window 
[self.googleMapView setSelectedMarker:mk]; 
} 

如果使用快捷使用這種方法:

func mapView(mapView: GMSMapView!, didTapOverlay overlay: GMSOverlay!) { 

} 
+1

我使用SWIFT .... –

+0

請轉換代碼的語法快捷的方法是: FUNC MapView類(MapView類:GMSMapView中!didTapOverlay覆蓋:GMSOverlay){ } –

+0

你可能誤會了我的題。我需要在用戶點擊的位置顯示標記。 –

0

這裏是轉換成swift兄弟的代碼。

func mapView(_ mapView: GMSMapView, didTap overlay: GMSOverlay) { 
    var path = overlay.title 
    var pathparts = path.pathComponents() 
    var lat = pathparts[0] 
    var lng = pathparts[1] 
    var lnkID = pathparts[2] 
    var mk = GMSMarker.arker(withPosition: CLLocationCoordinate2DMake(lat.doubleValue, lng.doubleValue)) 
    mk.title = overlay.title 
    mk.snippet = "ROUTE DATA" 
    mk.map = self.googleMapView 
    self.googleMapView.selectedMarker = mk 
} 
+0

在swift 3 iam上收到「path.pathcomponents()」錯誤。你能建議我解決這個問題嗎? – Anand3777

+0

你面對哪個錯誤? @ Anand3777 –

+0

'pathComponents'不可用:改爲在URL上使用pathComponents。 @Himanshu Moradiya以及如何獲取經緯度? – Anand3777

相關問題