我正在使用谷歌地图iOS SDK v1.8并尝试在一组标记上进行标记拖动。 zIndex正如我所期望的那样工作,但不是行为。
使用不同的zIndexes考虑一组标记:
for (int i = 0; i <5; i++) {
GMSMarker *test = [GMSMarker markerWithPosition:location];
test.title = [NSString stringWithFormat:@"Test %i", i];
test.draggable = YES;
test.zIndex = 100 - i;
test.map = mapView;
}
在代表中我有
-(void) mapView:(GMSMapView *)mapView didBeginDraggingMarker:(GMSMarker *)marker {
NSLog(@"didBeginDraggingMarker: %@ (%i)", marker.title, marker.zIndex);
}
我希望这会将标记Test 0
拖到zIndex 100处,而是在zIndex 98处拖动Test 2
。它选择它们的顺序似乎是随机的。例如,如果我将每个标记拖出,这就是我的日志。
didBeginDraggingMarker: Test 2 (96)
didBeginDraggingMarker: Test 0 (100)
didBeginDraggingMarker: Test 1 (99)
didBeginDraggingMarker: Test 3 (97)
didBeginDraggingMarker: Test 4 (96)
所以我的问题是如何在拖动时强制选择具有最高zIndex的标记?
我认为由于标记数量众多,迭代整个标记集并不理想。