在MapItemizedOverlay上查看和获取变量活动

问题描述:

我在我的android应用程序上有MapView。我有一个GoogleMapsActivity,可以在地图上显示坐标。在MapItemizedOverlay上查看和获取变量活动

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中的int和string传递给MapsItemizedOveraly,因为当我点击标记时我需要重定向到一个URL。

我不知道我是否解释,但在恢复: 我需要从GoogleMapsActivity传递一个字符串和一个int到MapsItemizedOverlay。

感谢您的帮助。

看一看在这里,它可能会帮助: Android - Get Click Event of Map Overlay Item

基本上你需要重写ItemizedOverlay.onTap(INT指数)方法。

这是一个代码片段,它将打开*.com页面,当第一个(索引0)项目已被添加到地图上(您需要将活动上下文传递给在构造函数中扩展ItemizedOverlay的类, mContext:

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

希望这是你想要实现:)

+0

嗨什么。感谢您的回答。我已经有了一个onTap方法,但是我需要从GoogleMapsActivity获得一个值来执行如下操作:Uri.parse(“http://example.com/?id=”+ x);其中x是来自GoogleMapsActivity的值。 – Pipeline