公司有个需求就是要随着屏幕的改变而加载附近的商户信息.
那么高德地图获取当前屏幕中心点的经纬度呢?
核心方法:aMap.setOnCameraChangeListener(this);
实现接口:
@Override
public void onCameraChange(CameraPosition position) {
LatLng target = position.target;
System.out.println(target.latitude + "jinjin------" + target.longitude);
}
<span style="font-size:18px;">package com.amap.map2d.demo.basic;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import com.amap.api.location.core.GeoPoint;
import com.amap.api.maps2d.AMap;
import com.amap.api.maps2d.AMap.OnCameraChangeListener;
import com.amap.api.maps2d.MapView;
import com.amap.api.maps2d.model.CameraPosition;
import com.amap.api.maps2d.model.LatLng;
import com.amap.map2d.demo.R;
/**
* AMapV1地图中介绍如何显示一个基本地图
*/
public class BasicMapActivity extends Activity implements OnCameraChangeListener {
private MapView mapView;
private AMap aMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.basicmap_activity);
mapView = (MapView) findViewById(R.id.map);
mapView.onCreate(savedInstanceState);// 此方法必须重写
init();
aMap.setOnCameraChangeListener(this);
}
/**
* 初始化AMap对象
*/
private void init() {
if (aMap == null) {
aMap = mapView.getMap();
}
}
/**
* 方法必须重写
*/
@Override
protected void onResume() {
super.onResume();
mapView.onResume();
}
/**
* 方法必须重写
*/
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
}
/**
* 方法必须重写
*/
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
}
/**
* 方法必须重写
*/
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
public void onCameraChange(CameraPosition position) {
LatLng target = position.target;
System.out.println(target.latitude + "jinjin------" + target.longitude);
}
@Override
public void onCameraChangeFinish(CameraPosition position) {
// TODO Auto-generated method stub
}
}
</span>
结果展示