接上篇。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