Android Google Maps 監聽地圖縮放


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

由於公司項目要求,需要對google map監聽地圖的縮放(zoom)來進行一些操作。

但是在網上查了好多資料,突然發現在google提供的GoogleMap類中,沒有神馬類似的setOnZoomChangedListener之類的方法。

這讓我灰常的。。。不解啊。。。后來發現很多人是通過一個定時器循環來操作對比。

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

注:此處代碼接上篇。

MainActivity.java

        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;
			}
		}
	};

至此,完成。希望可以給大家提供一些其他的解決思路。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM