Пользовательский значок и значок текущего местоположения по умолчанию на карте, когда это необходимо в iPhone - PullRequest
0 голосов
/ 16 ноября 2011

У меня есть приложение, в котором я даю пользователю 2 варианта. 1. Выберите ваше текущее местоположение через GPS 2. Введите ваше текущее местоположение вручную.

То, что я хочу, это когда пользователь выбрал первый вариант, тогда я должен отобразить синий анимированный значок для текущего местоположения И когда пользователь выбрал 2-й вариант, я должен отобразить свой собственный значок для текущего местоположения.

Возможно ли это? Предложения приветствуются.

Спасибо.

Ответы [ 2 ]

1 голос
/ 16 ноября 2011

Сначала установите логическую переменную для Example isInGPSMode

, теперь примените следующий код

if(isInGPSMode==TRUE)
{
     mapViewHome.showsUserLocation=TRUE;
}
else
{
     mapViewHome.showsUserLocation=FALSE;
}

и обработайте делегат вида карты как

- (MKAnnotationView *) mapView:(MKMapView *)mapView1 viewForAnnotation:(id <MKAnnotation>) annotation
{
    if(annotation==mapViewHome.userLocation)
    {
        return nil;
    }
    addAnnonation *tempAnnonation=(addAnnonation *)annotation;

    MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];
    annView.pinColor = MKPinAnnotationColorRed;
    return annView;

}

для получения дополнительной информации см.ссылка http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html

надеюсь, это поможет

0 голосов
/ 30 января 2016

решение Рупеша в Swift:

func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
    // Keep default pin for user location
    if myMapView.userLocation.isEqual(annotation) {
        return nil;
    }

    var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier("pin") as? MKPinAnnotationView
    if pinView == nil {
        pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "pin")
        pinView!.canShowCallout = true
        pinView!.animatesDrop = true
        pinView!.pinColor = .Red
    }
    else {
        pinView!.annotation = annotation
    }
    return pinView
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...