我通过解析GeoJSON为我的GMSMapView添加了一个功能。然而,我在弄清楚如何设计这个功能时遇到了极大的麻烦。
目前,该功能是默认的蓝色笔触和半透明蓝色填充。我想改变这些颜色。我试着看the documentation,但它没有用。我能找到的互联网上的所有其他问题都与JavaScript API有关。
如何在我的Google地图上设置特定功能的样式 - 仅限我的GeoJSON文件中的功能?优选地,这将是动态的,但不一定如此。
答案 0 :(得分:4)
这让我猜了很多,因为据我所知,没有相关的文档 - 至少没有一个可以轻松访问。
功能的style
元素(如GMUGeometryContainer
)是GMUStyle
。这是它的初始化器:
GMUStyle(styleID:stroke:fill:width:scale:heading:anchor:iconUrl:title:hasFill:hasStroke:)
例如,我可能会解析我的GeoJSON并为这样的特定功能添加样式:
parser = GMUGeoJSONParser(url: overlayUrl)
parser.parse()
renderer = GMUGeometryRenderer(map: map, geometries: parser.features)
parser.features.first!.style = GMUStyle(styleID: "feat_1", stroke: UIColor.red, fill: UIColor(white: 1, alpha: 0.8), width: 2, scale: 1, heading: 1, anchor: CGPoint.zero, iconUrl: nil, title: nil, hasFill: true, hasStroke: true)
renderer.render()
说实话,我不知道anchor
会发生什么变化,heading
或scale
- 这对我来说也不重要,也不适合你。当缩放,平移,旋转或倾斜时,该功能的样式将按预期显示,而无需您进行任何其他更改。
如果有人可以在这个不起眼的课程上添加更多细节,那么这对于这个答案或者一个全新的答案来说会很棒。