我有以下情況: - 3引腳與座標相同,但不同的標題和信息 - 在地圖上有ONY一個引腳MapKit多個引腳座標相同,不同的信息選擇
它可以挖掘多次在該引腳上,註釋顯示爲: - 第一次點擊 - >引腳1的註釋 - 第二次點擊 - >引腳2的註釋 - 第三次點擊 - >引腳3的註釋 - 第四次點擊 - >針腳1的註釋
您有什麼想法應該如何實現它嗎?
我有以下情況: - 3引腳與座標相同,但不同的標題和信息 - 在地圖上有ONY一個引腳MapKit多個引腳座標相同,不同的信息選擇
它可以挖掘多次在該引腳上,註釋顯示爲: - 第一次點擊 - >引腳1的註釋 - 第二次點擊 - >引腳2的註釋 - 第三次點擊 - >引腳3的註釋 - 第四次點擊 - >針腳1的註釋
您有什麼想法應該如何實現它嗎?
您可以實施didSelectAnnotationView
委託方法,並根據上次「正確」選擇的內容選擇「正確」註釋。
如果你只有在地圖上和這些註釋只有其中之一集羣,那麼你就可以保持一個int
伊娃說會記住最後一次選擇的註釋是在委託方法增加它。
例如:
// In .h
int lastAnnotationSelected;
// In .m
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
int nextAnnotationToSelect = (lastAnnotationSelected + 1)
% mapView.annotations.count;
id<MKAnnotation> nextAnnotation =
[mapView.annotations objectAtIndex:nextAnnotationToSelect];
[mapView selectAnnotation:nextAnnotation animated:YES];
lastAnnotationSelected = nextAnnotationToSelect;
}
如果您還showsUserLocation
打開,那麼你就必須要在方法中添加的支票MKUserLocation
並跳過它(如果你願意的話),並進入下一個羣集中的註釋。另外,如果你有多個批註集羣(座標爲A的座標爲3,座標爲B的座標爲5,座標爲C的座標爲4等),那麼你需要跟蹤一個lastAnnotationSelected的數組和數組中的方法,首先確定選擇了哪個羣集並獲取要在該羣集中選擇的下一個註釋。
您現在解釋它的工作方式 - 點擊多次循環瀏覽標註 - 但不是您希望如何工作。很難理解你在問什麼。 –
如果在地圖上以相同的座標放置3個或更多針腳,當我點擊多次時,只有其中2個顯示在該泡泡標註中。所以,在這種情況下,我想顯示3個或更多不同的標註信息。 – dorin
Nevan可以請你提供一些建議嗎? – dorin