![]() |
1
42
是的,可以有一个单独的位置管理器对象,并将其值赋给MapView(顺便说一句,我使用下面的“=”作为列表前缀,以防止SO代码格式化程序借用)。
=在你的
=使用创建XIB文件
=让uiviewController实现
=在视图控制器中
=在
=现在有一个棘手的部分:蓝色大理石“throbber”是mapview跟踪用户位置的一个特性。你必须暂时“假动作”,直到真正的动作开始(或者用一个单独的标记来标记当前的位置并自己保持它的位置)。我个人会选择用户熟悉的蓝色大理石。 =要使其在启动时显示正确,您需要创建一个自定义mkannotationView,只在位置管理器返回的位置添加蓝色大理石图形。这意味着要用显示位置的地图视图的快照,然后将蓝色的大理石图片跳出来,并将其用作自定义注释视图的图像。 =如果希望它主动跟踪地图,可以启用地图视图的用户位置跟踪,当它获取实际数据时,可以隐藏以前设置的标记,并让地图视图进行更新。另一个选项是允许现有的位置管理器每秒左右继续接收更新,并自己更新蓝色大理石注释的位置。 =要让mapview自己的用户位置执行更新,请添加到viewdidload:
=实现
=为了避免显示当前位置时的预热延迟,请保留对包含地图和位置管理器的ViewController的引用,这样它就不会消失(这有点占用内存,但如果释放它,则必须再次等待,直到MapView加载瓷砖并准备就绪)。
=在
=您可能希望实现视图控制器的
祝你好运。 |
![]() |
2
27
在控制器中:
当地图出现时,它将集中在帕洛阿尔托附近。 |
![]() |
3
0
尝试设置
这就是你想要的吗? |
![]() |
4
0
您不需要使用另一个位置管理器,您可以向地图添加您想要的任何点,并通过您想要的任何其他逻辑更新它们。 假设你有一个与遥控车的插座连接,那辆车将包含有效载荷中地理位置信息的插座数据发送回来。您可以解析出来,并实时更新地图上缩略图的位置。不需要“userlocation”属性,但如果需要,可以显示它。 用户的位置是只读的,您是否可以使用它。这并不意味着你需要另一个位置经理来做你可能需要做的任何事情。听起来你的应用程序不需要这个功能,但我可能误解了你的问题。 |
![]() |
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 9 月前 |
![]() |
routern · 如何组合contextMenu和圆角矩形? 10 月前 |
![]() |
DevHome98 · 3D触摸不适用于设备swift 1 年前 |
![]() |
dunoiww · 从全屏返回时如何触发onAppear 2 年前 |
![]() |
Community wiki · iPhone上ivar的继承问题 2 年前 |
![]() |
Community wiki · 查找iOS日历 2 年前 |
![]() |
Community wiki · 有效的IPhone编程技术[关闭] 2 年前 |