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

相关文章
相关标签/搜索