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;

			}

		}

	};

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

你可能感兴趣的:(google map)