请注意,我使用的是MapBox SDK,目前我有以下方法:
- (RMMapLayer *)mapVIEw:(RMMapVIEw *)mapVIEw layerForAnnotation:(RMAnnotation *)annotation{ if (annotation.isUserLocationAnnotation) return nil;}
我也调查了this thread以了解我应该如何做类似的事情,但没有找到相同的用户位置代码. Apple是否使用静态PNG图片查找我的朋友?通过将其更改为另一种颜色(如果可能的话),我是否会失去围绕该位置的自适应圆?
UPDATE
正如@Incanus在他的回复中所说,在我的 – [RMMapVIEwDelegate mapVIEw:layerForAnnotation:]回调方法中,我应该得到三个对应于isUserLocationAnnotation = YES的调用 – 点,精度圆和脉冲晕.
我只得到一个,我不明白为什么.
此外,我尝试在跟踪模式更改时自定义注释,这是我所做的:
if (self.mMapVIEw.userTrackingMode == RMUserTrackingModeNone){ for (RMAnnotation *annotation in self.mMapVIEw.annotations) { if (annotation.isUserLocationAnnotation) { if ([annotation.annotationType isEqualToString:@"RMAccuracyCircleAnnotation"]) { [(RMCircle*)annotation.layer setFillcolor:[[UIcolor redcolor] colorWithAlphaComponent:0.6]]; [(RMCircle*)annotation.layer removeAllAnimations]; } } } [self enableBouncingOnLayer:self.mMapVIEw.userLocation.layer];}else{ [self.mMapVIEw.userLocation.layer removeAnimationForKey:@"animateScale"];}
到目前为止这么好,我得到蓝色精度圆圈变成红色并停止改变大小.
问题是,MapBox框架仍然会更新它,所以它将恢复正常.
有趣的是,使用这种方法,我确实有3个注释,isUserLocationAnnotation设置为YES,但我只得到一个回调.
任何帮助赞赏.
解决方法 在Swift 3中,mapVIEw.tintcolor = .red
现在非常直接.
总结以上是内存溢出为你收集整理的在iOS上自定义用户位置色调全部内容,希望文章能够帮你解决在iOS上自定义用户位置色调所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)