在我的ios应用程序中,我想在地图上放置一个引脚,默认情况下会始终显示标注。在我看来,我显示的是lat,长的引脚。
我想要的是别针总是保留在地图的中心。当用户移动地图别针时,不要移动但移动地图后它的纬度变长。
我也希望显示来自该纬度的地址。
请指导方法。
我已尝试过此代码
[mMapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];
MyAnnotation* obj = [[MyAnnotation alloc] initWithLocation:mMapView.centerCoordinate withPinType:StartPoint];
[obj setTitle:[NSString stringWithFormat:@"%f, %f",mMapView.centerCoordinate.latitude,mMapView.centerCoordinate.longitude]];
[mMapView selectAnnotation:obj animated:YES];
[mMapView addAnnotation:obj];
缩放当前位置的地图 在地图中心添加图钉 显示lat long
问题 - 当我移动map.pin时也会被移动并且lat long没有被改变
答案 0 :(得分:1)
在你的-viewDidLoad方法中添加以下代码
[mMapView.userLocation addObserver:self
forKeyPath:@"location"
options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld)
context:NULL];
现在包括以下方法,
// Listen to change in the userLocation
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
[object setTitle:[NSString stringWithFormat:@"%f, %f",mMapView.centerCoordinate.latitude,mMapView.centerCoordinate.longitude]];
[mMapView selectAnnotation:object animated:YES];
}
请确保您的注释对象是类对象。
希望这会有所帮助......