如何获取Google地图标记的引用以显示Windows?

时间:2014-06-19 14:53:35

标签: android google-maps google-maps-markers

我有一张带有标记的Google地图。在创建时,标记的ID被放入哈希映射中。我希望地图打开并自动显示窗口,但如何使用哈希映射获取对标记的引用?

Iterator it = markerMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
if (String.valueOf(pairs.getValue()).equals(strID))  {   //when these match

    //need to showInfowindow here??? But how?                

    break;  //exit as match found
    }
 }

编辑:pairs.getValue是一个标记,strID是底层SQLite数据库的_id。当我尝试在Hashmap中获得对标记的引用时,我得到一个'required:Marker found:Object'不兼容错误。设置Hashmap的代码是:

private HashMap<Marker, Integer> markerMap = new HashMap<Marker, Integer>();

设置标记并将其放入Hashmap的代码是:

m = mMap.addMarker(new MarkerOptions()
    .position(new LatLng(lat, lon))
    .title(c.getString(3))
    .snippet(strIcon.toUpperCase())
    .icon(BitmapDescriptorFactory.fromAsset(strIcon + ".png")));
markerMap.put(m, Integer.parseInt(c.getString(0)));

我知道代码有点笨拙并且需要整理 - 但是一旦pair.getValue()和strID匹配,那么已经识别出正确的标记,但是如何获得对标记的引用以调用showInfowindow?

提前致谢。

0 个答案:

没有答案