Я пытаюсь изменить цвет местоположения пользователя, как это сделано в приложении «найти моих друзей» от Apple (см. Прилагаемый скриншот).Настроить оттенок местоположения пользователя на iOS [Обновлено]
Обратите внимание, что я использую MapBox SDK, и я в настоящее время имею следующий метод:
- (RMMapLayer *)mapView:(RMMapView *)mapView layerForAnnotation:(RMAnnotation *)annotation
{
if (annotation.isUserLocationAnnotation)
return nil;
}
Я также посмотрел в this thread, чтобы иметь представление о том, как я должен делать что-то подобное, но не сделал найдите тот же код для местоположения пользователя. Использовала ли Apple статичное изображение PNG для поиска друзей? Я потеряю адаптивный круг вокруг позиции, изменив его на другой цвет (если это возможно)?
UPDATE
Как @Incanus сказал в своем ответе на мой -[RMMapViewDelegate mapView:layerForAnnotation:]
метод обратного вызова, я должен получить три вызова, соответствующие isUserLocationAnnotation = YES
- дот, точность круг, и пульсирующий ореол. Я получаю только один, и я не понимаю почему.
Кроме того, я пытался настроить аннотацию при смене режима слежения, вот что я сделал:
if (self.mMapView.userTrackingMode == RMUserTrackingModeNone)
{
for (RMAnnotation *annotation in self.mMapView.annotations) {
if (annotation.isUserLocationAnnotation) {
if ([annotation.annotationType isEqualToString:@"RMAccuracyCircleAnnotation"]) {
[(RMCircle*)annotation.layer setFillColor:[[UIColor redColor] colorWithAlphaComponent:0.6]];
[(RMCircle*)annotation.layer removeAllAnimations];
}
}
}
[self enableBouncingOnLayer:self.mMapView.userLocation.layer];
}
else
{
[self.mMapView.userLocation.layer removeAnimationForKey:@"animateScale"];
}
До сих пор так хорошо, я получаю синий точность круг краснеть и остановить изменение размера. Проблема в том, что платформа MapBox все равно обновит ее, так что она вернется к нормальному состоянию.
Что интересно, используя этот метод, у меня есть 3 аннотации с isUserLocationAnnotation, установленным в YES, но я получаю только один обратный вызов.
Любая помощь приветствуется.
см. Это http://stackoverflow.com/questions/6293432/how-to-change-mkmapviews-user-location-blue-dot-to-an-image-of-choice – karthika
Это называется «аннотация» и вы можете изменить его из свойства 'pinColor'. –
Sanjeet Suhag: Как я могу получить доступ к свойству pinColor? MapBox предоставляет мне объект RMAnnotation, которому не хватает этого свойства.Karthika: Вы полагаете, что я не могу изменить цвет и что мне нужно использовать картинку вместо этого? – user2700551