iphone - 以编程方式设置用户位置的坐标 Xcode/Objective-C

标签 iphone objective-c ios xcode mapkit

我正在实现一个 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/

相关文章:

objective-c - NSURLRequest 不发送 cookie

ios - 如何删除另一次点击的复选标记?

iphone - 更新导航栏

ios - 在 iPhone 上拍照并在 Swift 中保存之前永久覆盖文本

ios - 从 IOS 中的返回键执行按钮单击

iphone - View Controller 之间的自定义转换?

iOS - 在 UITabBar 上方获得所需的阴影

objective-c - NSScrollView 背景纹理

ios - 合并两个 UIImages swift 4

ios - 当设备已经在 Beacon 范围内时无法检测到 Beacon 然后我们打开蓝牙 & 应用程序被杀死