我从iOS的谷歌地图api切换到这里的iOS地图api。我想在缩放时禁用地图的平移/滚动,以保持中心点的gps位置相同。有什么建议吗?提前谢谢。
答案 0 :(得分:0)
你可以使用 [MPAMapView disableMapGestures:] api禁用平移/滚动。 详细信息可以在https://developer.here.com/mobile-sdks/documentation/ios/topics/map-gestures.html
找到答案 1 :(得分:0)
您可以使用NMAMapGestureDelegate
和NMAMapViewDelegate
的组合来完成此用例。
例如,您可以实现NMAMapGestureDelegate
- (void)mapView:(NMAMapView *)mapView didReceivePinch:(float)pinch atLocation:(CGPoint)location;
处理程序方法来添加一些额外的代码来禁用您希望阻止的手势。然后在捏合手势结束后重新启用手势。
这样的事情应该可以解决问题,你可能需要稍微使用它来实现它的工作方式:
- (void)mapView:(NMAMapView *)mapView didReceivePinch:(float)pinch atLocation:(CGPoint)location
{
[mapView disableMapGestures:(NMAMapGestureTypePan | NMAMapGestureTypeTwoFingerPan)];
// execute default pinch behaviour
[mapView.defaultGestureHandler mapView:mapView didReceivePinch:pinch atLocation:location];
}
...
- (void)mapViewDidEndMovement:(NMAMapView *)mapView
{
[mapView enableMapGestures:NMAMapGestureTypeAll];
}
您也可以查看NMAMapView
- (NSInteger)respondToEvents:(NSInteger)events withBlock:(NMAMapEventBlock)block
。使用NMAMapEventGestureEnded
响应respondToEvents
事件可能会更好地适用于您的用例。
更多信息: