2013-09-28 94 views

回答

1

目前在Google Maps IOS sdk中沒有直接的方法可以知道用戶何時點擊MyLocation按鈕。可能的解決方法是使用以下方法

- (void) mapView: (GMSMapView *) mapView idleAtCameraPosition: (GMSCameraPosition *) position 

這將在任何相機動畫或手勢結束時調用。當用戶點擊mylocation按鈕時,攝像機將被動畫以定位可見的地圖區域,從而用戶的當前位置(如果被檢測到的話)將位於中心。因此,您可以查看idleAtCameraPosition裏面的位置是否與用​​戶的當前位置相同,該位置可通過- (CLLocation*) myLocation [read, assign]知道並執行您所需的功能。

+0

爲了確保這項工作,我們需要添加''作爲我們的類的委託。 –

14

在版本1.9.2有但這正是一個委託方法:

(BOOL) didTapMyLocationButtonForMapView: (GMSMapView *) mapView [optional] 

Link to documentation

0

對於做其他任何事情,你還可以得到參考位置按鈕。

// custom target My Location Button 
    for (UIView* tmpview in _mapView.subviews[1].subviews[0].subviews) { 
     if ([NSStringFromClass([[tmpview class] class]) isEqualToString:@"GMSx_QTMButton"]) { 
      if ([tmpview isKindOfClass:[UIButton class]]) { 
       myLocationBtn = (UIButton*)tmpview; 
       [myLocationBtn addTarget:self action:@selector(clickedOnLocationButton:) forControlEvents:UIControlEventTouchUpInside]; 
      } 
     } 
    } 
相關問題