我正在开发基于位置的应用程序,我需要根据更改位置移动MKAnnotation
Pin。这意味着当用户将位置从一个地方更改为另一个地方时,应移动注释。
这是我的注释代码:
-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
static NSString *defaultPinID = @"com.invasivecode.pin";
pinView = (MKPinAnnotationView *)[mV dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if (pinView == nil)
{
pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID];
pinView.enabled = YES;
pinView.pinColor = MKPinAnnotationColorGreen;
pinView.canShowCallout = YES;
}
return pinView;
}
它会将引脚放在当前位置,但当我随设备移动时,位置会发生变化。还有MKPolyline
我已经实施但是Pin留在那里。
看到这张图片:
你可以看到绿色引脚是起点&amp;另一方是目前的观点。所以引脚应该在我想要的当前点上。
我搜索过&amp;尝试了很少的堆栈解决方案,但无法解决我的问题。
任何建议&amp;帮助将受到高度赞赏。
提前致谢。
答案 0 :(得分:0)
我从@AnnaKarenina得到解决方案建议非常感谢你。
我所做的就是让我的MKPinAnnotationView全球化然后:
pinView.annotation.coordinate = newLocation.coordinate;
此行我添加到didUpdateToLocation
方法中,该方法允许注释每次都获取新位置。
再次感谢。