我正在实现一个iOS应用程序,我想以编程方式设置用户位置。我试过mapView。
mapView.userLocation.location.coordinate=CLLocationCoordinate2DMake(latFloat, longFloat);
它告诉它被分配给readonly属性。
那么如何以编程方式分配用户位置?旨在在自定义位置显示蓝点。
答案 0 :(得分:2)
据我所知你不能。该属性用于用户位置,而不是任意点。你应该使用MKAnnotation和它的关联类来做这样的事情。如果你想用类似于用户位置的脉冲圆做一种点,你可能会发现更适合自定义的MKOverlay。请注意,虽然多个MKOverlays 会使您的应用程序崩溃,在这种情况下,您希望使用MKOverlayPathView在一个MKOverlayView中绘制许多内容。
**另外,为了在模拟器中进行测试,您可以将任意点列表传递给模拟器,它将作为用户位置提供给应用程序。这仅用于测试各种地图相关代码,但实际上并没有帮助或在“现实世界”中工作**
类似的,假设'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;
}
我目前无法对此进行测试,但稍后会这样做。
答案 1 :(得分:1)
使用.gpx文件根据需要设置用户位置。
步骤:
输入名称并选择要保存的位置
.gpx文件是XML格式的文件。
了解更多详情,请查看------
http://plainoldstan.blogspot.cz/2011/08/on-gpx-files-for-xcode-42.html
(只是忘了添加)同样在你的viewDidLoad方法中,别忘了添加 -
yourMapView.showuserslocation = YES;