我正在使用 Goggle Maps SDK 在手机上制作 GPS 应用程序。我想添加一个功能,让用户只需在屏幕上点击该点即可获取特定点的纬度和经度。
例如,如果有“这是什么?” 像谷歌地图上的那种功能,但在手机版上?我将如何在代码中做到这一点?
我正在使用 Goggle Maps SDK 在手机上制作 GPS 应用程序。我想添加一个功能,让用户只需在屏幕上点击该点即可获取特定点的纬度和经度。
例如,如果有“这是什么?” 像谷歌地图上的那种功能,但在手机版上?我将如何在代码中做到这一点?
好的。首先,您需要扩展com.google.android.maps.Overlay
和覆盖该onTap
方法:
class MOverlay extends Overlay {
@Override
public boolean onTap(GeoPoint p, MapView mapView) {
int latitude = p.getLatitudeE6();
int longitude = p.getLongitudeE6();
// Do whatever you need to do here.
return true; // true means we handled the tap
}
}
然后,您需要将此叠加层添加到地图上的叠加层列表中。假设您的活动正在扩展MapActivity
,则此代码应该可以工作:
class MyActivity extends MapActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// your code here
MapView map = findViewById(R.id.map); // you can change this
MOverlay clickCatcher = new MOverlay();
List<Overlay> allOverlays = map.getOverlays();
allOverlays.add(clickCatcher);
map.invalidate();
// All done!
}
}
希望对您有所帮助。祝你好运!