Android Google Maps 監聽地圖縮放

接上篇。http://www.cnblogs.com/maomishen/p/3556297.htmlhtml

因爲公司項目要求,須要對google map監聽地圖的縮放(zoom)來進行一些操做。java

可是在網上查了好多資料,忽然發如今google提供的GoogleMap類中,沒有神馬相似的setOnZoomChangedListener之類的方法。ide

這讓我灰常的。。。不解啊。。。後來發現不少人是經過一個定時器循環來操做對比。google

傷心之餘,忽然想到,也許縮放並非GoogleMap中的屬性,而是Camera的屬性!遂,通過驗證,試驗經過。下面上代碼。htm

注:此處代碼接上篇。blog

MainActivity.javaget

        GoogleMap map;
	float mOldZoom;

        @SuppressLint("NewApi")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// Get a handle to the Map Fragment
		map = ((MapFragment)                   getFragmentManager().findFragmentById(R.id.map))
				.getMap();
		map.setMyLocationEnabled(true);
		map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(22.279,
				113.566), 13));
		CameraPosition cp = map.getCameraPosition();
		mOldZoom = cp.zoom;
		map.setOnCameraChangeListener(listener);
	}    

        OnCameraChangeListener listener = new OnCameraChangeListener() {

		@Override
		public void onCameraChange(CameraPosition cp) {
			if (mOldZoom != cp.zoom) {
				Log.e("googleMap", cp.zoom+"");
				mOldZoom = cp.zoom;
			}
		}
	};

至此,完成。但願能夠給你們提供一些其餘的解決思路。it

相關文章
相關標籤/搜索