问题标签 [mkpolyline]

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

ios - MKPolyLineRenderer 改变颜色而不移除覆盖

我正在开发一个几乎复制 Apple 地图应用程序行为的应用程序。当我触摸一条路线时,我需要将其颜色更改为蓝色并将其他颜色更改为灰色。有没有一种有效的方法来实现这一点而不必删除覆盖并再次添加它们?谢谢。

0 投票
2 回答
102 浏览

ios - IOS是否包含一些可以在地图上画线(路线)的类

我有一个MKMapView坐标列表(大约 50.000 点)。
现在我正在使用MKPolyLine地图上的绘制路线。
基本上我遍历所有坐标并在最后一点和一点之间画线。

但是我想知道IOS中是否有一些类可以使用,例如传递坐标数组并自动在地图上加载路线?

0 投票
1 回答
9109 浏览

ios - 如何在 Swift 中使用 MKPolylineView

我想在我的 Swift 应用程序中绘制折线。

SWIFT代码

错误:

我找不到解决方案。

0 投票
2 回答
1808 浏览

ios - 设置 MkPolyLineRender 的 lineWidth 属性,以便绘制宽度为 x 米的线?

我在 MkMapView 上画线,我想以米为单位指定它们的宽度。

我试过这样的事情:

这会产生一条比 myMetersValue 宽得多的线,并且在我放大和缩小时它不会缩放。

ppm 保持恒定在大约。9.49 即使我放大和缩小地图。我已经验证 myLatitude 是一个有效的纬度(大约 45 度)。我已经验证 myMetersValue 是一个合理的 #(大约 18m)。

(编辑)

我发现 MKMapPointsPerMeterAtLatitude 返回的 MapPoints 不是屏幕点,所以我不能使用那个函数。

所以我的基本问题是如何将米转换为 mkMapView 中的屏幕点。更简洁地说,如何在我的代码中获得 ppm 的值?我试过这个(在SO的其他地方找到):

那没有用。

然后我尝试了这个:

这里的想法是获取相隔 500 个屏幕点的两个点的纬度/经度。然后得到它们之间的距离(以米为单位),这样我就可以计算 ppm。这种工作,但看起来结果 ppm 不太正确,所以我不相信这是正确的。此外,当我缩放地图时,地图上的现有线条不会重新渲染,因此缩放后保持相同的宽度(但这是一个不同的问题)。

(编辑)

现在看起来我对 ppm 的计算是正确的。问题是在用户完成缩放之前调用了渲染器,因此线条不会以最终缩放比例渲染。一旦确定了最终缩放比例,当我强制重新渲染时,ppm 是正确的并且我的代码可以工作。

0 投票
1 回答
148 浏览

ios - Mapkit覆盖从随机坐标开始的坐标

在我的应用程序中,我正在地图上绘制折线叠加层,点从didUpdateUserLocation:委托方法获得的用户位置开始。

但由于某种原因,它总是从非洲开始。

可能是什么原因?我是否必须为折线指定任何起始坐标?

0 投票
1 回答
4876 浏览

swift - iOS 8 SDK、Swift、MapKit 绘制路线

我需要在两点之间绘制路线,并MKDirectionsRequest用于我的目的。

获得路线是可以的,但我无法绘制它。

在 iOS 8 SDK 中没有功能

只有这个:

出于某种原因,我不明白为什么不调用该方法。
设置 MapView 的委托并导入 MapKit。


这是rendererForOverlay实现的功能:


0 投票
2 回答
12602 浏览

swift - UnsafeMutablePointer 迅速替代 Obj-C 中适当大小的 C 数组

如何在 swift 中与用于获取大小 C 数组的函数进行交互?

我通读了与 C APIS 交互,但仍然无法弄清楚。

状态的 coords 参数的文档func getCoordinates(_ coords:UnsafeMutablePointer<CLLocationCoordinate2D>,range range: NSRange):“在输入时,您必须提供一个足够大的 C 结构数组以容纳所需数量的坐标。在输出时,此结构包含请求的坐标数据。”

我尝试了几件事,最近一次:

我是否必须使用类似的东西:

把我的头发拉在这里......有什么想法吗?

0 投票
0 回答
455 浏览

ios - 仅使用最近的 CLLocations 创建 MKPolyline

我的应用程序加载用户过去的折线并将它们显示在地图上。然后应用程序开始跟踪,并从最后更新的坐标到第一个坐标绘制一条直线,从而在两条单独的线应该分开时将它们连接起来(如图所示

我想删除这条直线,所以我认为最简单的方法是丢弃超出设定时间范围(例如 1 分钟)的坐标,因此地图上的折线保持独立。我不知道该怎么做……我是初学者,所以任何建议都将不胜感激!

我在加载过去的折线时使用此代码

这段代码通常会更新 cllocations 并制作折线

0 投票
0 回答
277 浏览

ios - 有什么方法可以更新 MKPolyline 坐标吗?

有没有MKPolyline比在 mapView 中删除和添加新覆盖更好的方法来更新坐标?

0 投票
3 回答
5843 浏览

ios - 如何在 SWIFT 中使用附加参数制作自定义 MKPolyline - 颜色

任何人都可以帮助我MKPolyline使用附加参数颜色进行自定义吗?

CustomPolyline.swift

在里面

我的解决方案不起作用,我不知道为什么。折线根本不可见。我是 SWIFT 的初学者,所以我认为问题出在我的CustomPolyline课堂上。感谢帮助。