在地图视图上使用引脚聚类在不同引脚上显示自定义和默认标注视图

时间:2014-12-24 11:16:38

标签: ios objective-c iphone mkmapview markerclusterer

这是我的第一个问题,我是iOS新手。 我正在地图视图上实现引脚聚类,这对于一种类型的引脚工作正常但我的要求是在缩小时将不同类型的引脚聚集在一起,即如果一种引脚在地图视图上显示河流细节这些引脚应该聚集在一起并对其进行计数,而在其他情况下,如果其他引脚在地图视图上显示转移的详细信息,则这些引脚应与引脚分开聚集在一起,并对其进行单独计数。其他4种不同的引脚也遵循同样的情况。

我还有一个问题,如何在同一个地图视图上为这些不同类型的引脚实现不同的标注视图,即假设河针具有默认标注,其中包括标题,副标题和附件按钮。另一方面,对于Diversion pin我有我自己的自定义呼叫视图。所以现在我想要的是当我点击河针时,默认标注应该弹出,当我点击导流销时,我的自定义标注应该弹出。对于其他类型的针也是如此。

请帮帮我。我在过去两周内处理这些问题,但对我来说没什么用。请帮助我,我想要解决这些问题。

注意:应使用引脚群集实现自定义标注和默认标注。

1 个答案:

答案 0 :(得分:0)

我创建了一个演示,它将解决您关于自定义呼出和默认呼叫的问题。

Answer

将指导您如何创建自定义标注并为其添加图钉。

此代码包含PinAnnotation,它是MKAnnotation的子类,用于显示自定义调用。

对于默认的呼出视图,您只需将MKAnnotation添加到地图中,它就会显示默认值。

如果您愿意,可以自定义它并为其创建另一个子类。

使用自定义呼出视图测试默认呼出。从该答案链接下载演示项目,或直接从 here 下载。

viewDidLoad()的末尾添加以下代码并运行该应用程序。

MKPointAnnotation *pin = [[MKPointAnnotation alloc] init];
pin.coordinate = CLLocationCoordinate2DMake(34.65515f, 133.81951f);
pin.title = @"Default Pin";

[self.mapView addAnnotation:pin];

它将如下所示:

enter image description here