我正在实现一个 iOS 应用程序,我想以编程方式设置用户位置。我试过 map View 。
mapView.userLocation.location.coordinate=CLLocationCoordinate2DMake(latFloat, longFloat);
它表明这是分配给只读属性。
那么如何以编程方式分配用户位置?旨在在自定义位置显示蓝点。
最佳答案
据我所知你不能。该属性用于用户位置,而不是任意点。你应该使用 MKAnnotation 和它的相关类来做这样的事情。如果你想用类似于用户位置的脉冲圆做点,你可能会发现自定义 MKOverlay 更合适。请注意,多个 MKOverlays 将使您的应用程序崩溃,在这种情况下,您希望使用 MKOverlayPathView 在一个 MKOverlayView 中绘制许多内容。
** 顺便说一句,为了在模拟器中进行测试,您可以将任意点列表传递给模拟器,它将作为用户位置输入到应用程序中。这仅用于测试各种 map 相关代码,实际上不会帮助或在“现实世界”中工作**
类似于,假设“annotations”是一个包含您的注释的 NSMutableArray。
-(MKAnnotationView *)mapView:(MKMapView *)mV
viewForAnnotation:(id <MKAnnotation>)annotation {
MKPinAnnotationView *pinView = nil;
MKPinAnnotationColor pinColor = MKPinAnnotationColorPurple;
if([annotations lastObject] == annotation)
{
pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"LastLocationIdentifier"];
pinColor = MKPinAnnotationColorGreen;
}
else
{
pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"PreviousLocationIdentifier"];
}
pinView.pinColor = pinColor;
return pinView;
}
我目前无法对此进行测试,但稍后会进行测试。
关于iphone - 以编程方式设置用户位置的坐标 Xcode/Objective-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12456409/