将渲染器从Apple MapKit切换到Google Maps SDK

bra*_*ray 2 mapkit mkmapview ios gmsmapview

我需要将地图视图从Apple的MapKit(> = iOS6)切换到Google Maps API,然后实时切换。在地图中,有很多注释需要聚类。现在,我正在考虑实现此目的的最佳方法。我认为可以独立进行聚类。主要问题是,如何更改地图本身。

据我了解,Apple Maps和Google Maps SDK是完全不同的系统,必须分别处理。

但是接着有ClassicMaps,这是一个免费项目github,它使得切换地图成为可能。他们怎么做到的?可以吗?

有没有其他方法可以解决此问题?

提前谢谢了

Dai*_*jan 5

我们也想在MapKit和GMS之间切换。因此,我们首先开始:MapKit,因为与Google GMSMarker对象相比,MKAnnotations / MKAnnotationViews已经“允许一个间接级别”。

然后,我们编写了一个自定义GoogleMapsMapView-一个UIView,它具有一个GMSMapView作为子视图,并且模仿了所有MKMapView,还调用了MKMapViewDelegate。

在我们确认新的GoogleMapsMapView组件正常工作并且看起来像MKMapView之后,我们创建了一个新类(再次:D)..例如CommonMapview,它在alloc / init上为您提供了适用于您操作系统的正确类。MKMapView或GoogleMapsMapView

您提到的Clusting是在CommonMapView中实现的,并且完全不知道渲染器