0

我正在使用 Goggle Maps SDK 在手机上制作 GPS 应用程序。我想添加一个功能,让用户只需在屏幕上点击该点即可获取特定点的纬度和经度。

例如,如果有“这是什么?” 像谷歌地图上的那种功能,但在手机版上?我将如何在代码中做到这一点?

4

1 回答 1

0

好的。首先,您需要扩展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!
     }
}

希望对您有所帮助。祝你好运!

于 2013-03-24T07:58:48.293 回答