gpt4 book ai didi

java - Android谷歌地图添加到标记自己的标签

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:11 25 4
gpt4 key购买 nike

我有这样的代码:

protected void onPostExecute(final ArrayList<HashMap<String, String>> adapter) {

for (final HashMap<String, String> a : adapter) {
LatLng pos = new LatLng(Double.valueOf(a.get(TAG_latitude)), Double.valueOf(a.get(TAG_longitude)));
Log.e("pppppos", String.valueOf(pos.latitude));
Marker m = map.addMarker(new MarkerOptions().position(pos)
.title(a.get(TAG_NAME))
.snippet("Kiel is cool"));

map.setOnInfoWindowClickListener(
new OnInfoWindowClickListener(){
public void onInfoWindowClick(Marker marker){
Intent nextScreen = new Intent(SearchExchangerActivity.this, BankExchangersListActivity.class);
nextScreen.putExtra("exchanger_id", id);
startActivityForResult(nextScreen, 0);
}
});
}

但我需要为每个标记设置对用户字段不可见,例如 Tag_id,然后在向其他 Activity 发送额外信息时使用此 ID,例如:

protected void onPostExecute(final ArrayList<HashMap<String, String>> adapter) {

for (final HashMap<String, String> a : adapter) {
LatLng pos = new LatLng(Double.valueOf(a.get(TAG_latitude)), Double.valueOf(a.get(TAG_longitude)));
Marker m = map.addMarker(new MarkerOptions().position(pos)
.title(a.get(TAG_NAME))
.snippet("Kiel is cool")
.Tag_id(TAG_ID));

map.setOnInfoWindowClickListener(
new OnInfoWindowClickListener(){
public void onInfoWindowClick(Marker marker){
Intent nextScreen = new Intent(SearchExchangerActivity.this, BankExchangersListActivity.class);
nextScreen.putExtra("exchanger_id", marker.get(TAG_ID));
startActivityForResult(nextScreen, 0);
}
});
}

这是真的吗?我如何才能在我的听众中获得我正在点击的标记?

也可以通过标题字段来完成...但是我在编写 marker.getTitle() 时遇到错误...

更新

for (final HashMap<String, String> a : adapter) {
LatLng pos = new LatLng(Double.valueOf(a.get(TAG_latitude)), Double.valueOf(a.get(TAG_longitude)));
Log.e("pppppos", String.valueOf(pos.latitude));
HashMap<Marker, String> m = new HashMap<Marker, String>();
m.put( map.addMarker(new MarkerOptions().position(pos)
.title(a.get(TAG_NAME))
.snippet("Kiel is cool")), "1");

}

map.setOnInfoWindowClickListener(
new OnInfoWindowClickListener(){
public void onInfoWindowClick(HashMap<Marker, String> marker){
Intent nextScreen = new Intent(SearchExchangerActivity.this, BankExchangersListActivity.class);
nextScreen.putExtra("exchanger_id", "1");
startActivityForResult(nextScreen, 0);
}
});

最佳答案

  1. 您可以使用 Map<Marker, String>并将您的数据保存在那里或
  2. 使用Android Maps Extensions添加 getDatasetData功能Marker类。

顺便说一句。你不应该设置 InfoWindowAdapter在一个循环中。这没有道理。只有最后一个幸存下来。

关于java - Android谷歌地图添加到标记自己的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16384643/

25 4 0