我有一个应用程序,上面有地图和一些 POI。我正在使用http://djsolid.net/blog/android---draw-a-path-array-of-points-in-mapview来绘制路径。Pin 标记使用https://github.com/jgilfelt/android-mapviewballoons显示带有信息的弹出气球
我正在尝试找到一种在主要活动中获得通知的方法,一次
protected boolean onBalloonTap(int index, OverlayItem item)
发生。一切正常,关于获取点,绘制气球和弹出信息,当点击(气球)时,它会绘制路径。但是我想存储选定的 POI(屏幕上有一些,我想知道用户选择了哪一个),但是由于它发生在不同的类上,不一定是在创建时,我只是使用类似的公共 getter . 创建叠加层的代码是:
Drawable marker = getResources().getDrawable(R.drawable.malls);
PinsOverlay malls= new PinsOverlay(marker, mapView);
List<Overlay> mapOverlays= mapView.getOverlays();
for (int i = 0; i < coordinates.length; i++) {
long systemTime = Long.valueOf(currentTime);
long timeSinceReported = (systemTime - Long.valueOf(time[i])) / 60;
OverlayItem spot = new OverlayItem(coordinates[i], getAddressFromGP(coordinates[i]), getResources()
.getString(R.string.timeSinceReported)
+ String.valueOf(timeSinceReported)
+ " "
+ getResources().getString(R.string.minutes));
malls.addOverlay(spot);
}
mapOverlays.add(malls);
coordinates[i]
保存所有标记坐标的数组在哪里,getAddressFromGP(coordinates[i])
是一种使用 Google API 进行反向地理编码的方法
如何向每个叠加层添加任何类型的委托?可能吗?我查看了这个http://www.javaworld.com/javatips/jw-javatip10.html但无法完全理解这是否是我正在寻找的以及如何实现它。
提前致谢。