7

我的应用目前正在使用适用于 iOS 的 google maps api v2。我想添加自定义平铺覆盖,我意识到 api 不支持。

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

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

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

4

2 回答 2

2

Google Maps SDK for iOS(今天发布)1.3.0 版发布说明的好消息:

通过 GMSTileLayer 支持自定义平铺覆盖(基于图像)。

请参阅:https ://developers.google.com/maps/documentation/ios/releases

于 2013-05-16T21:25:23.280 回答
0

你试过看这个例子吗?

https://github.com/mtigas/iOS-MapLayerDemo

它基于 MKMapKit,而不是 Google-Map SDK。它支持缩放图块,并且非常容易扩展,并且可能会为您指明正确的方向。

如果需要为地图生成瓦片,可以使用 MapTiler

http://www.maptiler.org/

MapTiler 的 Windows 版本对切片生成提供了更细粒度的控制。

于 2013-05-16T14:13:22.097 回答