0

我正在构建一个应用程序,让用户在附近走动时构建自己的地图注释。我现在正在测试这个。

一切都很顺利我看到当我在街上创建地图注释时,它们会立即显示在设备地图上。问题是有时我看到在创建多个之后它们都显示为一个引脚。即它们具有相同的纬度和经度,但它们具有不同的标题和字幕。这意味着程序实际上是在创建单独的对象,但为它们分配相同的坐标。

我检查以确保程序在创建新对象时不会重写旧对象。

似乎 CLlOcation 管理器提供了相同的坐标。我不确定如何进行。

CLLocation 管理器会给出错误的坐标吗?

谢谢

这是我在 cllocationmanager 实例中实现的代码

 -(void)locationManager:(CLLocationManager*)_manager
   didUpdateToLocation:(CLLocation *)newLocation
      fromLocation:(CLLocation *)oldLocation
 {
   NSLog(@"%s %d", __PRETTY_FUNCTION__, __LINE__);
   self.userLocation = newLocation;
   NSLog(@"USer location latitude = %.4f", self.userLocation.coordinate.latitude );
   NSLog(@"USer location longitude = %.4f", self.userLocation.coordinate.longitude);
   if (self.userLocation)
   {
        [_locMgr stopUpdatingLocation];
    }

   }

编辑

我想具体来说,我想了解的是如何在我的应用程序中获取用户位置的更新读数,这与蓝点的值相同,蓝点不断为用户的位置设置动画,以便它在用户移动时移动移动。我似乎无法从 CLLocation 管理器中获得该读数。

谢谢

4

1 回答 1

3

当您打开位置管理器时,您通常会得到一份旧读数。在决定使用它之前,您应该检查读数的时间戳和水平精度。

于 2013-02-09T16:20:08.130 回答