我的应用目前正在使用谷歌地图api v2 for iOS。我想添加自定义平铺覆盖,我意识到这不是api的支持。
我对此问题采取的第一种方法是尝试扩展GMSOverlay
类,但后来我发现drawLayer方法从未被调用过。
接下来,我尝试将自定义类扩展为UIView
,然后将我的类作为子视图添加到地图视图中。我能够使用GMSMapViewDelegate
方法didChangeCameraPosition
将相机更新报告回我的自定义类,以便可以重新绘制切片。这主要适用于几个例外,首先,只会加载初始的图块集,如果您从初始的X,Y,Z平移或缩放,则地图图块不会通过drawInRect方法更新。第二个问题是我的自定义UIView
在点击后覆盖了所有标记及其相应的标注。
我的问题是,是否有人有任何添加自定义图块或子类化GMSOverlay
类的经验,例如,在Google地图顶部添加自定义天气图块?
答案 0 :(得分:1)
适用于iOS的Google Maps SDK(今天发布)v.1.3.0的发行说明中的好消息:
通过GMSTileLayer支持自定义图块叠加(基于图像)。
请参阅:https://developers.google.com/maps/documentation/ios/releases
答案 1 :(得分:0)
您是否尝试过查看此示例?
https://github.com/mtigas/iOS-MapLayerDemo
它基于MKMapKit,而不是Google-Map SDK。它支持具有缩放功能的瓷砖,并且非常容易扩展,并且可能指向正确的方向。
如果您需要为地图生成切片,可以使用MapTiler
Windows版本的MapTiler为tile生成提供了更细粒度的控制。