问题标签 [mkcoordinateregion]

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 回答
174 浏览

swift - MapKit 缩放问题

我的应用程序中有一张地图,它从小地图开始,在用户点击后变大。

这是并排在 iOS 10 和 iOS 11 中(小)

在此处输入图像描述

当用户点击地图时,它会变成全屏并显示为(iOS 10 - iOS 11):

在此处输入图像描述

如您所见,在 iOS 11 中,它似乎出于某种原因放大了。

这是与点击地图相关的功能:

最后:单击 X 按钮并撤消上述结果: 在此处输入图像描述

这与最初处于小状态时略有不同,因为 iOS 11 版本再次对缩放/设置区域进行了略微缩小。

我应该注意,为了使地图的初始小负载为 iOS 11 和 iOS 10 正确渲染相同的区域,我必须执行以下操作:

iOS 11 版本再次发生了与我过去在 iOS 10 中的不同之处。

0 投票
0 回答
45 浏览

ios - 如何在方向更改期间保留 MKMapView 的缩放级别和可见区域?

MKMapView在我的一张地图中使用。假设我放大查看纵向区域,并且在更改设备的方向后,我希望地图在旋转之前显示相同的区域。

我已经尝试在旋转之前存储Regionand VisibleMapRect(来自WillRotate方法)并在旋转完成后应用它(在DidRotate方法中)。

但它没有按预期工作。因为在纵向时可见区域更像一个正方形,所以当我在横向应用这个可见区域时,会在地图的两侧添加一些填充,因为现在地图的宽度更大了。所以基本上可见区域增加了更多。现在再次如果我将设备旋转到纵向,它会尝试设置这个增加的可见区域,而不是原来的方形区域。

0 投票
1 回答
1041 浏览

ios - 如何为地理位置创建边界框

我想在 Swift 中为地理定位创建一个边界框,它返回给我 (minY maxY minX maxX) 在 Swift 中是否有执行此操作的函数?

0 投票
2 回答
43 浏览

ios - 为什么 MKCoordinateRegion 不会显示小区域?

我有以下代码将 MKCoordinateRegion 设置为 MKMapView:

但是,地图视图显示的区域远大于 20 米乘 20 米。

有什么问题,我该如何解决?

0 投票
1 回答
441 浏览

swift - 如何修复此“无效区域”' 快速错误

我想获取该区域,以便可以将注释放入其中。但我得到了未捕获的异常 'NSInvalidArgumentException',原因:'Invalid Region'。那么请问我该如何解决这个问题呢?

var region = MKCoordinateRegion(center: CLLocationCoordinate2DMake(topLeftCoordinate.latitude - (topLeftCoordinate.latitude - bottomRightCoordinate.latitude) * 0.5, topLeftCoordinate.longitude + (bottomRightCoordinate.longitude - topLeftCoordinate.longitude) * 0.5), span: MKCoordinateSpan(latitudeDelta: fabs( topLeftCoordinate.latitude - bottomRightCoordinate.latitude) * 2.0, longitudeDelta: fabs(bottomRightCoordinate.longitude - topLeftCoordinate.longitude) * 2.0))

region = mapView.regionThatFits(region) mapView.setRegion(region, 动画: true)

0 投票
1 回答
44 浏览

swiftui - @App 存储和 MKCoordinateRegion 函数

是否可以在@App Storage 中保存 MKCoordinateRegion 值?我试过这个。但它不起作用。我收到错误“调用初始化程序时没有完全匹配”。

0 投票
0 回答
45 浏览

swift - 如何获取位于 MKCoordinateRegion 内的结果列表?

我在像 Zillow 这样的房地产应用程序中工作......我显示了一个带有属性列表的视图和一个带有每个属性注释的地图。

我有一个属性数组(每个属性都有纬度/经度),我在 MKLocalSearch 之后计算 MKCoordinateRegion。一切都好,但我想过滤以仅获取 MKCoordinateRegion 内的属性

我怎样才能做到这一点?

区域协调功能

这就是我获得过滤列表的方式

这是我显示我的列表的方式

0 投票
0 回答
12 浏览

swift - 如何知道/比较纬度/经度是否在 MKCoordinateRegion 内?

如何知道/比较纬度/经度是否在 MKCoordinateRegion 内?

我正在尝试查找 MKCoordinateRegion 内的所有地方,肯定有一个扩展

我试图比较区域与区域,但显然这不起作用......

0 投票
1 回答
157 浏览

swiftui - SwiftUI 使用 MapKit 进行地址自动完成

我有一个表格,用户可以在其中输入他们的地址。虽然他们总是可以手动输入,但我也想为他们提供一个简单的自动完成解决方案,这样他们就可以开始输入他们的地址,然后从列表中点击正确的地址并让它自动填充各个字段。

我开始使用 jnpdx 的 Swift5 解决方案 - https://stackoverflow.com/a/67131376/11053343

但是,有两个问题我似乎无法解决:

  1. 我需要将结果仅限于美国(不仅仅是美国大陆,而是整个美国,包括阿拉斯加、夏威夷和波多黎各)。我知道 MKCoordinateRegion 如何与中心点一起工作,然后是缩放传播,但它似乎不适用于地址搜索的结果。

  2. 结果的返回只提供了标题和副标题,我需要在其中实际提取所有单独的地址信息并填充我的变量(即地址、城市、州、zip 和 zip ext)。如果用户有一个 apt 或套件号码,他们会自己填写。我的想法是创建一个在点击按钮时运行的函数,以便根据用户的选择分配变量,但我不知道如何提取所需的各种信息。苹果的文档和往常一样糟糕,我还没有找到任何解释如何做到这一点的教程。

这是最新的 SwiftUI 和 XCode (ios15+)。

我创建了一个用于测试的虚拟表单。这是我所拥有的:

0 投票
0 回答
8 浏览

swift - 如何确定用户是否从某个 MKCoordinateRegion 离开半径?

我想知道如何确定用户是否从某个区域离开了半径。我最初做了一个半径为 20 公里的设置区域(在这种情况下,中心是柏林的中心)

我想要完成的是当用户在地图上拖动并离开这 20 公里半径时,我应该弹出一个警报。

我尝试了这个MKMapViewDelegate跟踪地图拖动的函数,但我不确定这是否是最好的方法,或者我应该检查矩形交叉点吗?