问题标签 [mkusertrackingmode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 地图处于 MKUserTrackingModeFollowWithHeading 模式时,MKMap 不缩放
我面临与 MKMapView 相关的问题。我在 viewdidload 上设置了缩放级别 17,但是在调用 MKMap MKUserTrackingModeFollowWithHeading 时,它重置了缩放级别 14。我无法跟踪问题发生的位置。
ios - iOS MKMapView 将用户位置设置为 .followWithHeading 无法放大用户位置
我正在创建一个基于地图的应用程序,与许多人一样,它包含一个按钮,理论上该按钮将地图重新定位在用户位置并放大用户(如果缩放级别已更改)。目前,在 viewDidLoad() 我有这行:
它确实成功地设置了用户跟踪模式和舒适的缩放级别。然后,当用户平移时,跟踪模式设置为无,如文档所述,这就是我想要的。但是,在平移之后,当从包含完全相同的行的按钮调用 IBAction 时,mapview 将重新定位到用户的位置并恢复跟踪,但不会放大用户,除非 mapView 已显着缩小(到州或国家一级)。我能做些什么来解决这个问题?我曾尝试根据用户位置手动设置区域,但发现这会干扰用户跟踪。(我设置IBAction调用下面的函数)
但是调用此函数似乎会将用户跟踪模式重置为无,无论用户跟踪模式在函数调用之前还是之后更改。谢谢您的帮助!
ios - 在 MapKit 中显示用户位置所需的步骤
我有一个嵌入在视图控制器中的 mapView,我想显示用户的位置。虽然以下编译,加载后的地图什么都不做,也不显示用户的位置。我首先在 viewDidLoad 中尝试了代码,然后在 viewDidFishingLoadingMap 中尝试了代码,因为我读到您需要先让地图加载,但它仍然什么也不做。
除了设置跟踪模式以使地图以用户位置为中心之外,还有其他步骤吗?我在 Objective-C 中使用or } 找到了各种方法,
但似乎建议 Swift 使用以下方法。mapView.showsUserLocation = YES;
[self.mapView setCenterCoordinate:userLocation.location.coordinate animated:YES];
mkusertrackingmode - Restart MKUserTrackingMode.FollowWithHeading
Code:
But after a user interacts with the map or after mKMapView.ShowAnnotations
, the map automatically stops following the device's heading. (Not by my code. That's just how mkmapview works. This is also the case in the built in Maps app.)
How can I make the map start following the device's heading again from code?
mkusertrackingmode - 已解决 创建自定义 Apple Maps 用户位置按钮
我正在研究这个我没有找到任何文档,所以我想我会创建一些。在我解决它之后,我就像哦,这比我想象的要容易。
无论如何,我想创建我在苹果地图上看到的 3 个按钮状态。我尝试了一些 setRegion 的东西。经过一些工作后,才意识到苹果打算如何使用它。所以我想我会在这里记录下来。
ios - MKMapView userTrackingMode 在 SwiftUI 中重置
我在设置为MKMapView
的 SwiftUI 中显示 a 时遇到问题。我正在显示一张地图:userTrackingMode
.follow
在这MapView
我(a)设置userTrackingMode
和(b)确保我有使用时的权限。我一直在基于故事板的项目中使用这种模式。无论如何,MapView
现在看起来像:
这里一切看起来都不错,但地图(在模拟器和物理设备上)实际上并未处于跟随用户跟踪模式。
所以,我在上面进行了扩展,添加了一个采用MKMapViewDelegate
协议的协调器,这样我就可以看到跟踪模式发生了什么:
这导致:
发生了一些事情正在重置userTrackingMode
to .none
。
对于咯咯笑和笑容,我尝试了 reset userTrackingMode
,但这并没有更好:
不过,这种笨拙的模式确实有效:
userTrackingMode
或者在此初始过程之后重置后者的任何东西似乎也可以工作。
我做错了UIViewRepresentable
什么吗?中的错误MKMapView
?
这不是很相关,但这是我显示跟踪模式的例程:
swiftui - 使用 userTrackingMode = .followWithHeading 时如何防止 IOS MapKit 自动缩放?(使用 SwiftUI)
使用 userTrackingMode = .followWithHeading 时,如何防止 IOS MapKit 自动缩放?也就是说,我将当前用户位置设置为屏幕中心,并设置“view.userTrackingMode = .followWithHeading”,以便地图指向北方,但是当您手动放大/缩小时,MapView 会自动覆盖并缩小到它似乎更喜欢的水平。
我本来可以放大,然后缩放级别保持这样,同时保持地图以用户位置为中心,并保持自动旋转以保持地图与北方对齐。
我正在使用 SwiftUI,因此确实将位置作为参数传递给 GCMapView(作为使 SwiftUI GCMapView 与最新用户位置保持同步的方法)。所以不确定这是否会导致问题?
我正在使用的 MapKit 回调的一些关键位(已提取一些代码以显示相关行):