如何获得具有最高z指数的GMSMarker for didBegin拖动标记

时间:2014-05-13 06:36:58

标签: ios google-maps-sdk-ios

我正在使用谷歌地图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的标记?

我认为由于标记数量众多,迭代整个标记集并不理想。

0 个答案:

没有答案