1

我的 android 应用程序上有 MapView。我有一个 GoogleMapsActivity,我可以在其中获得要在地图上显示的坐标。

GeoPoint point = new GeoPoint((int) (lat * 1E6),(int) (lng * 1E6));

OverlayItem overlayitem = new OverlayItem(point, "title", "text");
itemizedoverlay.addOverlay(overlayitem);

mapOverlays.add(itemizedoverlay);

而且,我也有一个 MapsItemizedOverlay 活动,我在其中显示这些点。基本上我遵循了 MapView 教程。现在我需要将一个整数和字符串从 GoogleMapsActivity 传递给 MapsItemizedOveraly,因为当我点击一个标记时,我需要重定向到一个 URL。

我不知道我是否解释过,但在简历中:我需要将一个字符串和一个 int 从 GoogleMapsActivity 传递给 MapsItemizedOverlay。

谢谢你的帮助。

4

1 回答 1

0

看看这里,它可能会有所帮助: Android - 获取地图叠加项的点击事件

基本上你需要重写ItemizedOverlay.onTap(int index)方法。

这是一个片段,当点击已添加到地图的第一个(索引 0)项目时,将打开 stackoverflow.com 页面(您需要将活动上下文传递给在构造函数中扩展 ItemizedOverlay 的类,例如将其分配给 mContext:

@Override
protected boolean onTap(int index) {
    if (index == 0) {
        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("https://stackoverflow.com/questions/7050144/map-view-and-get-variables-on-mapitemizedoverlay-activity/7050301#7050301"));          
        mContext.startActivity(i);
        return true;
    }
    return super.onTap(index);
}

希望这是您想要实现的目标:)

于 2011-08-13T12:07:27.093 回答