iOS谷歌地图Api平铺覆盖

时间:2013-05-03 21:45:38

标签: ios google-maps-sdk-ios

我的应用目前正在使用谷歌地图api v2 for iOS。我想添加自定义平铺覆盖,我意识到这不是api的支持。

我对此问题采取的第一种方法是尝试扩展GMSOverlay类,但后来我发现drawLayer方法从未被调用过。

接下来,我尝试将自定义类扩展为UIView,然后将我的类作为子视图添加到地图视图中。我能够使用GMSMapViewDelegate方法didChangeCameraPosition将相机更新报告回我的自定义类,以便可以重新绘制切片。这主要适用于几个例外,首先,只会加载初始的图块集,如果您从初始的X,Y,Z平移或缩放,则地图图块不会通过drawInRect方法更新。第二个问题是我的自定义UIView在点击后覆盖了所有标记及其相应的标注。

我的问题是,是否有人有任何添加自定义图块或子类化GMSOverlay类的经验,例如,在Google地图顶部添加自定义天气图块?

2 个答案:

答案 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

http://www.maptiler.org/

Windows版本的MapTiler为tile生成提供了更细粒度的控制。