问题标签 [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 投票
1 回答
1312 浏览

iphone - 当用户滚动 MKMapView 时,从 Core Data 加载其他对象

使用 iPhone 3.0 SDK 中的 MapKit,您可以创建符合 MKAnnotation 协议的对象。将这些加载到 MKMapView 上非常容易。然而,当用户滚动 MKMapView 时,是时候加载新的注释了。请求新对象的可能位置在mapView:regionDidChangeAnimated:中,当地图的区域更改时调用它,然后用新的注释添加/替换注释。

具体来说,我想查询 Core Data 以检索当前MKCoordinateRegion (mapView.region) 中存在的所有对象,以便我只加载将在屏幕上显示的对象。Core Data 中的对象具有纬度和经度属性(CLLocation 属性在类' .m/.h 中定义,我可以从中手动填充)并将其用于 NSPredicate 以查找附近的对象。

由于 Core Data 数据库中存在多少对象的性质,我们不能将所有对象预加载为注释,否则我们将耗尽内存(而且速度会非常慢)。

如何仅检索在当前地图视图范围内具有位置的对象?

0 投票
9 回答
7320 浏览

ios - MKMapView 显示错误保存的区域

当我的 iPhone 应用程序像这样关闭时,我将地图区域保存到用户默认值中:

当应用再次启动时,Ш 以相同的方式读取这些值,以便用户可以看到与上次完全相同的地图视图:

我从用户默认值中读取的区域(毫不奇怪)与保存时完全相同。请注意,保存的内容直接来自地图,因此不会以任何方式进行转换。我用方法将它重新设置在地图上setRegion:,但后来就不一样了!

示例结果:

有人知道为什么会这样吗?

0 投票
3 回答
5645 浏览

objective-c - 从 MKCoordinateRegion MKMapView 获取 TopLeft 和 BottomRight

我检查了文档中的属性MKCoordinateRegionMKCoordinateSpanMKMapView查看有一种方法可以从地图视图中获取TopLeftBottomRight Lat Long,但我没有找到任何方法。我知道跨度给了我 Lat long delta 但是有没有办法从地图视图中获取实际的TopLeftBottomRight lat longs 而无需进行奇怪的计算?

我发现了这个。

不确定这是否足够准确。对此有任何投票吗?

0 投票
1 回答
4291 浏览

iphone - How can I pass latitude and longitude values from UIViewController to MKMapView?

I have a detail view that includes three UIButtons, each of which pushes a different view on to the stack. One of the buttons is connected to a MKMapView. When that button is pushed I need to send the latitude and longitude variables from the detail view to the map view. I'm trying to add the string declaration in the IBAction:

}

And on my MapViewController.h file I have:

And on the pertinent parts of the MapViewController.m file I have:

But I get this when I try to build: 'error: incompatible types in assignment' for both lat and lng variables. So my questions are am I going about passing the variables from one view to another the right way? And does the MKMapView accept latitude and longitude as a string or a number?

0 投票
0 回答
452 浏览

mkmapview - MKMapView跨度加倍bug

在 MKMapView 中设置区域有时会导致跨度加倍。这个错误似乎出现在地图初始化阶段的早期。尽管已在其他地方报道过,但我无法找到现有的解决方法,因此我在此处发布了我的修复程序。它依赖于 regionThatFits 方法也会产生错误的事实。我正在使用 iPhone OS 3.12,但在 3.0 beta 中报告了该错误。此代码位于包含您的 MKMapView 的 UIViewController 中:

0 投票
1 回答
1977 浏览

iphone - iPhone dev - 在地图上显示两个位置

现在我有了两个位置的坐标,比如说 locationA 的纬度为 40 和经度 -80,locationB 的纬度为 30 和经度 -70,

我想创建一个地图视图,我可以在适当的观看距离上看到这两个位置。

我通过找到中点(在本例中为 {35, -75})获得了新坐标,但问题是,

如何获得合适的观看距离?特别是,我如何计算 CLLocationDistance(如果我使用 MKCoordinateRegionMakeWithDistance)或 MKCoordinateSpan(如果我使用 MKCoordinateSpanMake)。

提前致谢。

0 投票
1 回答
1233 浏览

ios - 将 MKCoordinateRegion 视为矩形会回来困扰我吗?

背景:我正在构建一系列大量使用地图的基于位置的应用程序。这些地图用从服务器获取的位置进行注释,我将需要数据的地图区域传递到该位置(定义为 lat/long 和 latDelta/longDelta,很像 MKCoordinateRegion,但参考坐标的位置不同) . 我正在编写一堆辅助方法/类以在管理这些区域时使用。需要与 iOS 3.x 兼容(意味着 MKMapRect 已退出)。

问题:我是否通过将 MKCoordinateRegions 视为矩形来设置自己的失败?具体来说,我将它们的几何形状视为矩形,假设它们具有与矩形基本相同的属性。我已经实现了几种反映 CGRect 辅助方法的方法,例如 MKCoordinateRegionUnion/Inset/Outset 等,它们都通过了我的单元测试,但我开始质疑我的基本假设是否正确。事实上,我知道 MKCoordinateRegion 并不表示几何矩形,而是由两组相互垂直的平行平面限定的球面区域(如果有人能以更好的术语提示我,则加分)。

我还没有遇到任何异常,但由于许多应用程序将依赖于我对几何的理解,我宁愿现在弄清楚我是否走错了路。事实上,我在学校处理 3d 径向几何的大部分课程都睡着了,这一事实并没有让我对自己的直觉是正确的充满信心。

0 投票
2 回答
4730 浏览

iphone - 缩放以适合所有注释的区域 - 最终在注释之间放大

我在将所有注释都安装到屏幕上时遇到问题...有时它会显示所有注释,但有时应用程序会在两个注释之间放大,因此它们都不可见...我希望应用程序始终使该区域适合注释,而不是在它们之间放大......我做错了什么?

有任何想法吗?

谢谢!!

0 投票
1 回答
727 浏览

iphone - mapView.region.span.longitudeDelta 或 mapView.region.span.latitudeDelta 可以是负数吗?

mapView.region.span.longitudeDelta 或 mapView.region.span.latitudeDelta 可以是负数吗?

0 投票
1 回答
5112 浏览

ios - 如何存储当前的 MKCoordinateRegion 或缩放级别?

我有一个应用程序向用户提供可缩放的 MKMapView。我希望能够在首次显示地图视图时存储用户的首选坐标和缩放级别。

目前,在 viewDidLoad 中,我为初始地图呈现提供了一组默认坐标和缩放级别:

我想要做的是,当用户滚动并将地图缩放到他们喜欢的默认视图时,他们可以点击“设置默认值”按钮并存储所需的属性以在将来加载视图时实现。

要存储用户所选视图的坐标,我有这个:

我正在努力解决的是如何存储用户选择的 MKCoordinateRegion 或缩放级别。有没有办法可以访问当前视图的此属性,以便将来在视图加载时可以重用它?