2016-06-28 6 views
0

現在、iOSアプリを迅速に構築しています。私はGMSMapViewをViewControllersの1つに配置し、画面の中央にマーカーを配置します。マーカーは動かない。画面の中央を拡大 - Google Maps iOS SDK Swift

ズームまたはズーム解除すると、マーカーの位置が変わり、マーカーに関連付けられたアドレスも変わります。私はそれがUberアプリで行われているのと同じ正確な位置をズームすることができるようにしたい。

私はこのようなstackoverflowの答えをいくつか読んだ:Google Maps Center while zoomingしかしそれらのどれも働いていない。

GoogleマップSDKでこれを直接行う方法はありますか?最後の既知の位置を保存し、この位置をズームするアルゴリズムを記述する必要がありますか?

答えて

2

私が正しく理解していれば、画面の真ん中を中心にしてズームイン/ズームアウトしたいのですが、マップビューのスクロールができません。

Googleマップにはこの機能があります。スクロールからのMapViewのを防ぐために、あなたのmapview.settingsためallowScrollGesturesDuringRotateOrZoom =偽を実装:

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

をあなたには、ズームのような二つのことをアニメーション化し、複数のGoogleマップで自分の場所に移動することはできません。あなたはそれらを逐次行うでしょう。最初にキャスターを移動して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

関連する問題