我正在设计以下应用程序。
它在地图上的不同位置显示了几个叠加层。我想要一些代码,当点击叠加时,它会显示文本信息(特定于位置)。
这不仅仅是小文本;大量数据与每个叠加相关联。
例如:显示酒店信息:班加罗尔,孟买,德里等。
答案 0 :(得分:0)
使用热门的android-mapviewballoons叠加层。点击某个项目时,会显示一个信息气泡。点击泡沫也可以做其他事情。
答案 1 :(得分:0)
在您的逐项清单中,您可以覆盖onTap事件并显示一个对话框:
@Override
protected boolean onTap(int index) {
MyOverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.setPositiveButton("OK", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
dialog.show();
return true;
}
这只显示覆盖项目中的片段和标题,但您可以添加其他逻辑来构建和格式化对话框消息。
编辑:
如果您在MyObject类中定义了一个带有一些键值的构造函数,
并且您已经定义了正确的
public boolean equals(Object obj) { }
在您的MyObject类中将比较该键值,并且您有一个
LinkedList<MyObject> myObjects;
或
ArrayList<MyObject> myObjects;
你可以这样做:
int loc = myObjects.indexOf(new MyObject(keyValue));
if (loc != -1) {
myObject = myObjects.get(loc);
}