3

連絡先のピンを落としていますが、経度と緯度が同じものもあります。ピンをマップにドロップするとピンが表示されますが、2 つ以上の連絡先があるピンを 1 回タッチすると、最初と最後しか表示されません。

では、同じ経度と緯度で複数の接触を処理する最良の方法は何ですか?

理想的には、その場所にあるピンの数を表示できると考えていたので、ユーザーがピンに触れ続けると、注釈が循環することを期待していました。それを行う方法、またはより良い解決策があるかどうかはわかりません。

問題についての助けや洞察をありがとう。

4

2 に答える 2

0

その緯度と経度のすべての連絡先/オブジェクトの NSDictionary を表す 1 つの注釈を作成します。複数の緯度と経度を異なる色のピンで表します。

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
    static NSString *identifier = @"AnnotationIdentifier";

    if ([annotation isKindOfClass:[NSDictionary class]]) {
//Code here to show red pin vs. blue pin
}
}

次のような MKPinAnnotationView サブクラスのカスタム init メソッドが必要になります。

-(id)initWithCoordinate:(CLLocationCoordinate2D) coordinateC:(NSDictionary *)dictionaryParam;

最後に、そのピンに触れるメソッドを実行するには、次のようにします。

-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
     if ([view.annotation class] == [NSDictionary class]) {
        NSLog(@"multiple");

// more code here to run a view for multiple contacts

    }
    else
    {
...
}
}
于 2013-02-12T21:35:36.483 に答える