在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指数)方法。
这是一个代码片段,它将打开stackoverflow.com页面,当第一个(索引0)项目已被添加到地图上(您需要将活动上下文传递给在构造函数中扩展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);
}
希望这是你想要实现:)
嗨什么。感谢您的回答。我已经有了一个onTap方法,但是我需要从GoogleMapsActivity获得一个值来执行如下操作:Uri.parse(“http://example.com/?id=”+ x);其中x是来自GoogleMapsActivity的值。 – Pipeline