2016-06-28 5 views
0

현재 iOS 앱을 신속하게 제작하고 있습니다. 내 ViewController 중 하나에 GMSMapView를 넣고 화면 중앙에 마커를 넣습니다. 마커는 움직이지 않습니다.화면 중앙 확대 - Google지도 iOS SDK 신속한

확대/축소를 해제하면 마커 위치가 변경되고 마커와 연관된 주소도 변경됩니다. Uber 앱에서했던 것과 똑같은 위치에서 확대/축소 할 수 있기를 원합니다.

나는이 중 하나와 같은 stackoverflow에 대한 답변을 읽어 보았습니다 : Google Maps Center while zooming 그러나 그 중 아무 것도 작동하지 않았습니다.

Google지도 SDK를 사용하여이 작업을 직접 수행 할 수있는 방법이 있습니까? 아니면 마지막으로 알려진 위치를 저장하고이 위치를 확대하는 알고리즘을 작성해야합니까?

답변

2

정확하게 이해했다면 화면 중앙에 가운데를 맞추고 확대/축소하고 싶지만지도보기 스크롤이 없습니까?

Google지도에는이 기능이 있습니다. 스크롤에서지도보기를 방지하려면 mapview.settings에 대한 allowScrollGesturesDuringRotateOrZoom = false를 구현 :

myMapView.settings.allowScrollGesturesDuringRotateOrZoom = false 

https://developers.google.com/maps/documentation/ios-sdk/reference/interface_g_m_s_u_i_settings.html#a4c1156d319c0724284062167e47decc4

+0

나는 이미 게시 한 링크의 답변을 시도했지만 작동하지 않았습니다. 내가 확대하거나 축소 할 때지도가 계속 움직입니다 :-( – mfahem

+0

정말 고마워요. 원했던대로 :-) –

+0

훌륭한 작품입니다! –

0

당신의 줌과 같은 두 가지 애니메이션을 할 수없는 하나의 구글지도에 내 위치로 이동합니다. 당신은 순차적으로 그렇게 할 것입니다. 처음으로 카메라를 옮기려면 animate the camera, 둘 다 animateCamera() 일 수 있습니다. GoogleMap이 단일 이벤트로 통합합니다.

CameraPosition cameraPosition = new CameraPosition.Builder() 
.target(MOUNTAIN_VIEW) // Sets the center of the map to Mountain View 
.zoom(17) // Sets the zoom 
.bearing(90) // Sets the orientation of the camera to east 
.tilt(30) // Sets the tilt of the camera to 30 degrees 
.build(); // Creates a CameraPosition from the builder 
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 
+0

나를 Android 용으로 표시하고 있지만 문제는 iOS (신속)입니다. 확대 또는 축소에 대해 이야기 할 때 프로그래밍 방식으로 수행되는 확대/축소가 아닌 수동 확대/축소에 대해 이야기하고 있습니다. 사용자가 화면에서 두 번 탭하면 줌이 수행되지만 화면의 중앙은 줌 이전 위치와 동일하지 않습니다. – mfahem

관련 문제