我正在尝试开发一种布局,用于显示Google地图,其中包含在与此地图相关联的叠加图层上绘制的路线。我希望这个mapView是一个小的静态地图,以缩略图的形式显示用户所遵循的主要路线,然后如果用户点击它,意图会将您带到另一个活动,以全屏显示地图和路线和所有缩放功能。
问题是虽然我覆盖Overlay设置的onTap方法有新活动的意图,但只有当我将MapView设置为setEnabled(true)时它才有效,但如果我这样做,那么缩略图可以被用户拖动和移动。
如果不够清楚我很抱歉,但我不知道如何更好地解释它。
提前致谢
这是我的自定义类,它扩展了Overlay并覆盖了onTap方法:
class MapOverlay extends Overlay {
@Override
public boolean onTap(GeoPoint p, MapView mapView) {
Intent i = new Intent(getApplicationContext(),
RouteMapActivity.class);
startActivity(i);
return false;
};
这是我的onCreate方法:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detailrun_activity);
map = (MapView) findViewById(R.id.mvMain);
map.setEnabled(true);
map.setClickable(true);
MapOverlay mapOverlay = new MapOverlay();
List<Overlay> listOfOverlays = map.getOverlays();
projection = map.getProjection();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
double lat = 28.063119 * 1E6, longi = -82.41128 * 1E6;
GeoPoint point = new GeoPoint((int) lat, (int) longi);
MapController myMapController = map.getController();
myMapController.setCenter(point);
}
目前我只是在两个GeoPoints之间画一条直线,我没有得到任何logcat错误。
确实绘制了具有路线的地图,并且覆盖了onTap方法,但是如果我的mapView被定义为已启用且可点击,它似乎只能识别点击,但如果我这样做,那么用户也可以移动只要他按住屏幕就拖动地图。
答案 0 :(得分:1)
您可以按照this link的位置获取静态Google地图图片。您可以在imageview中显示并点击它可以定位具有MapView的新活动..我认为它可能是一个不错的选择。