问题标签 [mkmapcamera]

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.

0 投票
0 回答
273 浏览

ios - 使用 mkmapcamera 问题时保持缩放

我是使用 Swift 3 和 Xcode 8 开发 IOS 应用程序的新手。在我的应用程序中,我使用 regionDidChangeAnimated 委托方法通过 mapView.region.span.latitudeDelta * 111.000 以米为单位保持缩放级别。

当新的位置数据可用时,我使用 MKMapCamera 显示用户位置,其中 fromDistance 参数 = mapView.region.span.latitudeDelta * 111.000 先前计算并保存在实例变量中。

问题是当我捏合和捏合缩放级别无法正常工作

下面贴一点代码:

0 投票
1 回答
506 浏览

ios - 缩放 MKMapView 以适合折线和注释引脚 - 水平方向

我有一个 iOS 应用程序,其视图包含几个不同的标签和一个小的 MKMapView。

在地图视图上,我绘制了一条旅行路线(使用折线)并添加了两个注释图钉,一个在路线的起点,另一个在路线的终点。

我要做的就是更改地图缩放/旋转,以便折线和两个注释图钉适合地图视图的大小。然而,我尝试过的一切都失败了。

我的方法

1)将折线添加到地图视图。

2)setVisibleMapRect用于调整地图视图,使折线适合地图。(我还使用 edge insets 参数添加了一些填充)。

3)MKMapCamera用于改变地图的旋转,使折线+图钉以水平方式呈现。

这是我的代码:

我正在使用以下方法来计算折线的角度:

我已经尝试了一切,但无论哪种方式,最终结果都是某些角度的某些折线旋转到正确的水平角度,而其他折线则没有……我做错了什么?还是有更好的内置方法来解决这个问题?

我想做的就是改变这个:

在此处输入图像描述

...对此:

在此处输入图像描述

0 投票
0 回答
241 浏览

mkmapview - 在混合天桥中设置永久地图摄像机角度

我正在开发的应用程序(使用 Xcode 9 和 swift 4)要求用户以混合天桥模式在地图中移动。我已经取得了很多成就,但我想在导航地图时永久改变角度(这样他们就可以看到建筑物和雕像)。截至目前,他们可以直接从头顶看到地图并手动调整角度。下面是我到目前为止使用的代码

0 投票
0 回答
32 浏览

ios - MapKit:当地图间距!= 0 时如何将位置指示器图像转换为正确的方位

我有一个带有自定义图像(作为MKAnnotationView)的 MKMap 视图,它显示了当前的航向方向,如下所示(图像是带有方向箭头的蓝色圆圈和延伸的蓝色虚线)

带指示器的地图图像

MapKit 提供当前方位(以度为单位)以及地图相机的俯仰角(也以度为单位)。当地图旋转、俯仰角改变或航向方位改变时,该图像大部分旋转 3 维以继续围绕当前方位定位图像。目前用于此的代码是:

这将正确旋转图像以显示在航向方向上的蓝色虚线;除非 mapView 相机间距!= 零。当非零时,蓝色虚线显示略微偏离(方向),具体取决于用户所在位置在地图中的位置。居中时,蓝色虚线正确显示,但当当前位置在中心左侧时,蓝色虚线偏向左侧太远,而当当前位置在中心右侧时,蓝色虚线偏向右侧太远。

这可以通过为沿航向方位的当前位置绘制一条 MKPolyLine 来显示(下方红色)。

位置向右

位置偏左

我确实想将航向方位绘制为 MKPolyLine,因为每次当前位置发生变化时都必须将其移除并重新绘制,这会使地图显着闪烁。当 MKMapCamera 的音高不为零时,是否有可以工作的图像变换?还是地球的曲率以及 iOS 地图相机如何绘制事物导致无法解决?