谷歌地图api v2,点击标记在地图上打开一个片段

时间:2014-03-31 12:09:19

标签: android android-fragments maps overlay

我想要实现的目标:

我想要我可以点击的标记,当我在它们附近时,在地图顶部打开一个片段。 这个片段将列出一些文字和图片。 我希望这个片段只覆盖googlemap的一部分并且可以关闭。

我已经在'片段' -thingy中有一些基本信息,只需点击一下即可。 我还有一个函数可以计算从屏幕中间到某个位置的距离并将其放入代码段。

我有一些代码:

    simLocatie.setLatitude((googlemap.getCameraPosition().target).latitude);
    simLocatie.setLongitude((googlemap.getCameraPosition().target).longitude);

    googlemap.addMarker(new MarkerOptions()
                  .title(een.getName())                                                    
                  .position(new LatLng(een.getLatitude(),een.getLongitude()))                                                       
                  .snippet("distance:"+simLocatie.distance(een))                                           
               .icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_monument)));

提前致谢! 如果我没有解释自己的好,请求更多

2 个答案:

答案 0 :(得分:1)

  

实施OnMarkerClickListener

并使用此方法:(当您点击标记时将调用它)

@Override
    public boolean onMarkerClick(Marker marker) {
        return false;
    }

在这个函数里面打开你的片段。

http://developer.android.com/guide/components/fragments.html

答案 1 :(得分:0)

我认为您的地图上的每个标记都有唯一的数据。

当您从互联网或本地获取标记数据时,您应该将它们保存到HashMap中。

HashMap<Marker, String> map=new HashMap<Marker, String>();
for(MarkerInfo t : fetchedMarkerArray){
    /* add your markers to map, and everything what you need*/
}

当您需要访问数据时,您可以轻松地执行此操作(例如Daan说您应该实现OnMarkerClickListener):

onMarkerClick(Marker marker){
    MarkerInfo m = (MarkerInfo)map.get(marker);
    //show your fragment with data
}

如果您有任何其他问题,请随时提出。