MKMapView и setRegion: анимированные: не обновление карты визуальные эффекты

голоса
4

Приветствую! Я пытаюсь использовать MKMapView без каких - либо образцов Apple , коды, хотя есть несколько других там разная ясность. (Я знаю, «Прочитайте дружественное руководство.» Я сделал это , но это не 100% ясно, поэтому , пожалуйста , медведь со мной на этом.)

Вот ситуация. У меня есть MKMapView объект, в котором я добавил набор около десяти MKPinAnnotation объектов. Все идет нормально. Все alloced / выпущен здраво и там не наблюдается никаких жалоб от инструментов.

После первоначального отображения, я создал MKCoordinateRegion объект с центральной точкой на нашем первое месте контактного, и (произвольный) промежуток 0,2 х 0,2. Я тогда звоните:

[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];

Вау! Это работало хорошо.

В то же время ... У меня также есть сегментированный контроль , чтобы для движения в каждом месте штыря. Так , как я нажимаю по списку, карта одушевляет к каждому новому контактному место с новой парой звонков setRegion: анимированные: и regionThatFits: ... или , по крайней мере, это идея.

В то время как карта делает «путешествие» в новом контактном месте, сама карта не обновляется внизу. Вместо этого я вижу свою шпильку на сером фоне / пустой-карты ... пока я не подталкивать карту в любом направлении, однако незначительно. Тогда отображение сквозит! (Если я только перемещение в пределах короткого расстояния от предыдущего места контактного, я обычно вижу все , что часть карты уже было загружено.)

Я подозреваю , что я делаю что - то немое, но я не был в состоянии понять, что, по крайней мере , не из MapKit документации. Может быть , я использую неправильные звонки? (Ну, мне нужно установить в регионе , по крайней мере один раз, да Двигаясь , что вокруг , кажется, не поможет , хотя?) . Кроме того, я попытался с помощью setCenterCoordinate: анимированный: - та же проблема.

Я не уверен, если предположить ничего в этой точке (не каламбур). Просто пытаюсь найти свой путь.

Улики приветствуют / оценили!

UPDATE: Вызов setRegion: анимированный: и regionThatFits: в первый раз, а затем setCenterCoordinate: анимированный: при обходе списка, не имеет никакого эффекта. Интересный вывод , хотя: если я изменю анимированные NO в обоих случаях обновления карт !!! Только тогда , когда он установлен в YES. (Wha случиться ?! оживляется: сломаны Это не может быть ... ???)

Задан 08/07/2009 в 01:14
источник пользователем
На других языках...                            


4 ответов

голоса
6

Оказывается , что обновление карты не работает при использовании имитатора. Когда я пытаюсь setCenterCoordinate: анимированный: на устройстве, я делать получить обновление карты внизу.

Итог: Я был доверяя тренажер в соответствии с устройством с точки зрения поведения обновления карты. Увы, я ошибся! Урок выучен. «Не позволяйте этому случиться с вами.» :)

Ответил 28/07/2009 в 13:14
источник пользователем

голоса
2

Вам нужно вызвать setRegion:animated:вызов в главном контексте потока. Просто сделать что - то вроде:

....
[self performSelectorOnMainThread:@selector(updateMyMap) withObject:nil waitUntilDone:NO];

}

-(void) updateMyMap {
    [myMap setRegion:myRegion animated:YES];    
}

и она должна работать в любом случае (анимированные или нет), с картой обновляемой внизу.

Ответил 27/07/2009 в 13:11
источник пользователем

голоса
0

Несмотря на то, что это старая тема, которую я думал, что я позвоню с моим опытом. Кажется, что карта анимация терпит неудачу только на устройствах под управлением IOS 3.1.x и 3.1.x. Тренажер работает Мой DEV IPod Touch с прошивкой 3.1.3 не удается увеличить, если анимация включена.

Ответил 07/10/2010 в 15:40
источник пользователем

голоса
0

Hum странно. Обновления карты на моем Mac даже в симуляторе. Может быть, настройка сети (прокси-сервер или любой другой), что бы предотвратить виджет карты для загрузки плитки на тренажере?

Ответил 31/07/2009 в 09:17
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more