2013-09-17 2 views
2

Я хочу обновить мою камеру, привязывая ее к границам и прокручивая ее при одном и том же действии, но я не мог этого достичь. Если я попытаюсь сделать одновременно и другую анимацию, я попаду в странное место на карте (iPhone).Что-то вроде CameraUpdateFactory для iOS?

Код выше работает в Simulator, но не в iPhone.

GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:_restCoord coordinate:_houseCoord]; 

GMSCameraUpdate *update = [GMSCameraUpdate fitBounds:bounds withPadding:190.0f]; 
[_mapView_ moveCamera:update]; 

GMSCameraUpdate *downwards = [GMSCameraUpdate scrollByX:0 Y:-90]; 
[_mapView_ moveCamera:downwards]; 

Я видел «CameraUpdateFactory» для Android, которые могли бы достичь своих потребностей, есть что-то подобное прошивкой? Я не нашел.

Заранее спасибо.

ответ

1

Похоже, что существует проблема где-то между величиной от 150 до 160 на iPhone. Мое подозрение в том, что 160 * 2 = 320, что примерно соответствует ширине точки iPhone, и поэтому мы просим карту для ограниченной области заняться отрицательным пространством на карте.

Этот код работает:

GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:_restCoord coordinate:_houseCoord]; 

GMSCameraUpdate *update = [GMSCameraUpdate fitBounds:bounds withPadding:150.0f]; 
[mapView moveCamera:update]; 

GMSCameraUpdate *downwards = [GMSCameraUpdate scrollByX:0 Y:-90]; 
[mapView moveCamera:downwards]; 
+1

Nop, она по-прежнему отображать какое-то место в Artic. Но когда я удаляю последнюю строку, она работает. P.s .: в симуляторе он отлично работает с вашим кодом или моим. –

+0

Что произойдет, если вы отложите отступ до 30.f? – Brett

+0

Я сделал: [_mapView_ animateWithCameraUpdate: вниз]; и это сработало. –

Смежные вопросы