У меня есть пользовательский вид выноски аннотаций в моем приложении. Я хочу, чтобы mapview автоматически настраивался, чтобы вид вызывного аннотации всегда отображался в пределах видимой области. Теперь он отображается, как показано на изображении. любое решение? Пользовательский вид выноски аннотаций не отображается правильно
1
A
ответ
0
This is my answer for create Annotation.
вызова следующий метод для отображения правильно все аннотации в MapView. (Этот метод вызова после того, как создать аннотацию)
[self zoomToFitMapAnnotations:self.mapView];
Код для выше метода
-(void)zoomToFitMapAnnotations:(MKMapView*)mapView
{
if([mapView.annotations count] == 0)
return;
CLLocationCoordinate2D topLeftCoord;
topLeftCoord.latitude = -90;
topLeftCoord.longitude = 180;
CLLocationCoordinate2D bottomRightCoord;
bottomRightCoord.latitude = 90;
bottomRightCoord.longitude = -180;
for(DDAnnotation* annotation in mapView.annotations)
{
topLeftCoord.longitude = fmin(topLeftCoord.longitude, annotation.coordinate.longitude);
topLeftCoord.latitude = fmax(topLeftCoord.latitude, annotation.coordinate.latitude);
bottomRightCoord.longitude = fmax(bottomRightCoord.longitude, annotation.coordinate.longitude);
bottomRightCoord.latitude = fmin(bottomRightCoord.latitude, annotation.coordinate.latitude);
}
NSLog(@"A%f, B%f, C%f, D%f,", topLeftCoord.latitude, topLeftCoord.longitude, bottomRightCoord.latitude, bottomRightCoord.longitude);
MKCoordinateRegion region;
region.center.latitude = topLeftCoord.latitude - (topLeftCoord.latitude - bottomRightCoord.latitude) * 0.5;
region.center.longitude = topLeftCoord.longitude + (bottomRightCoord.longitude - topLeftCoord.longitude) * 0.5;
region.span.latitudeDelta = fabs(topLeftCoord.latitude - bottomRightCoord.latitude) * 1.1;
region.span.longitudeDelta = fabs(bottomRightCoord.longitude - topLeftCoord.longitude) * 1.1;
region = [mapView regionThatFits:region];
[mapView setRegion:region animated:YES];
}
+0
Спасибо iPatel, но моя проблема не в том, что вы предложили решение для.my все аннотации отображаются корректно в mapview.but проблема в том, что когда я нажимаю на любой вывод, открывается окно вызова. Моя проблема заключается в том, что он не настраивается автоматически, чтобы правильно отображаться на карте .please см. изображение, которое я приложил для уточнения. –
Смежные вопросы
- 1. Пользовательский вид выноски аннотации или пользовательский вид?
- 2. Пользовательский вид выноски с xib
- 3. Пользовательский вид не отображается
- 4. Пользовательский вид не отображается
- 5. Пользовательский вид не отображается
- 6. Пользовательский вид не отображается?
- 7. Пользовательский вид не отображается
- 8. Как добавить пользовательский вид выноски в mapview
- 9. вид не отображается правильно
- 10. аксессуар выноски не отображается
- 11. Как установить интерфейс .xib как пользовательский вид выноски?
- 12. IdentityServer не отображается пользовательский вид
- 13. Пользовательский вид Android не отображается
- 14. Пользовательский вид UIViewController не отображается
- 15. android: Пользовательский вид не отображается
- 16. Пользовательский контроль не отображается правильно
- 17. Пользовательский шрифт не отображается правильно
- 18. Пользовательский вид (xib) не отображается на раскадровке
- 19. Пользовательский вид выноски в Mapbox iOS sdk 2.0
- 20. пользовательский вид выноски получить ошибку при использовании библиотеки из мерзавца
- 21. Отображение карты Выноски аннотаций на конкретном языке
- 22. MKPinAnnotationView не отображается правильно
- 23. Пользовательский вид не отображается при динамическом добавлении
- 24. Пользовательский вид аннотации не отображается на карте
- 25. Пользовательский вид Android в scrollView не отображается
- 26. UIBarButtonItem пользовательский вид не отображается должным образом
- 27. iOS пользовательский вид не отображается изображение сразу
- 28. AlertDialog.Builder: setView; пользовательский вид не отображается
- 29. Пользовательский вид не будет правильно накачиваться
- 30. Eclipse issue - вид не отображается правильно
какие методы csutom крикнуть Youu используют .. Есть у использования этих CalloutMapAnnotationView.h – 08442
yes.I я использую то же самое. –
, тогда u должен отрегулировать смещение mapview в этом классе в соответствии с вашим требованием shuchn, что он всегда будет в середине, потому что вы показываете небольшую часть в mapview, которая есть .. check – 08442