【发布时间】:2019-04-20 02:35:02
【问题描述】:
我正在尝试创建一个显示儿童游乐场的应用程序。我发现开放的街道地图实际上有很好的数据。
所以我使用http://overpass-turbo.eu 来提取数据。
然后我使用 mapbox 来显示数据。 不幸的是,我是 openstreetmap 和相关 SDK 的初学者。
我遇到的问题是其中一些公园是多边形。我只是希望能够在公园所在的地图上显示一个标记,而不是绘制公园的形状。
我按照 mapbox 中的本教程在数据点上显示圆圈,但它在多边形中的每个坐标上绘制了一个圆圈...
那么我怎么能告诉 mapbox 在多边形的中心添加一个图像?我是否必须修改从立交桥获得的数据?我可以以不同的方式查询立交桥以仅获取质心吗?
感谢大家的指点
编辑 我被要求添加代码。确实代码还没有太多,所以我认为它在这里没有多大价值,因为我在问什么是解决问题的最佳方法。这是添加包含数据的源的委托(快速)
func mapView(_ mapView: MGLMapView, didFinishLoading style: MGLStyle) {
let source = MGLVectorTileSource(identifier: "export-ddqmvm", configurationURL: URL(string: "mapbox://mobdesign.9zilzleo")!)
style.addSource(source)
let layer = MGLCircleStyleLayer(identifier: "landmarks", source: source)
layer.sourceLayerIdentifier = "export-ddqmvm"
layer.circleColor = NSExpression(forConstantValue: #colorLiteral(red: 0.67, green: 0.28, blue: 0.13, alpha: 1))
layer.circleOpacity = NSExpression(forConstantValue: 0.8)
style.addLayer(layer)
}
这也是我从以下获得此代码的教程:https://www.mapbox.com/help/ios-dds-circle-layer/
【问题讨论】:
-
请提供您所遵循的教程的链接,您编写的任何现有代码都会很高兴看到。
-
@vshcherbinin,这是我遵循的教程:mapbox.com/help/ios-dds-circle-layer
标签: ios mapbox openstreetmap overpass-api