2010-12-17 27 views

回答

0

沒有。沒辦法。我十天前遇到了同樣的情況,而且我一直在網上搜索,無法完成這項功能。我認爲蘋果應該會在未來的iOS SDK中爲MKOverlay提供一些代表多邊形觸摸事件的代表。

0

當您的MKMapView委託收到用戶位置更新時,您可以遍歷您的疊加層,並查看用戶位置是否位於任何疊加層的邊界映射rect內。在疊加層上,只需添加一個可用於查找顏色的「顏色」屬性。

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation 
{ 
    for (MyOverlayClass* overlay in mapView.overlays) 
    { 
     MKMapPoint userPoint = MKMapPointForCoordinate(userLocation.location.coordinate); 
     if (MKMapRectContainsPoint(overlay.boundingMapRect, userPoint)) 
     { 
      UIColor* userInColor = overlay.color; 
     } 
    } 
}