Android Google在同一位置映射多个标记

时间:2015-10-22 14:02:55

标签: android google-maps

我有一个简单的应用程序与谷歌地图和动态加载标记。在2个或更多个标记具有相同纬度和长度的情况下,仅呈现一个。这有什么解决方案吗?这就是我如何绘制标记来映射

private void plotMarkers(ArrayList<MyMarker> markers, String markerIcon)
    {
        if(markers.size() > 0)
        {

            for (MyMarker myMarker : markers)
            {
                // Create user marker with custom icon and other options
               // Toast.makeText(getApplicationContext(), myMarker.getmLatitude().toString(), Toast.LENGTH_SHORT).show();
                MarkerOptions markerOption = new MarkerOptions().position(new LatLng(myMarker.getmLatitude(), myMarker.getmLongitude()));
                markerOption.icon(BitmapDescriptorFactory.fromResource(manageMarkerIcon(markerIcon)));

                Marker currentMarker = mMap.addMarker(markerOption);
                mMarkersHashMap.put(currentMarker, myMarker);
                mMap.setInfoWindowAdapter(new MarkerInfoWindowAdapter());
            }
        }
    }

2 个答案:

答案 0 :(得分:0)

即使你可以,你会如何使用这两个重叠标记?只有顶部的一个是可见的。 相反,如果两个标记重叠,您可以在一个包含它们的标记中表达它们共享的数据。

这个答案可能会有所帮助:Android Google Maps v2 - Add object to marker

答案 1 :(得分:0)

两个标记都显示,但两者都在同一个位置,似乎只有一个,如果点击它们,只会显示一个信息窗口。

如果您确实需要在同一位置添加两个标记,则可能需要查看Google Maps Android Marker Clustering Utility。它是Google Maps Android API Utility Library的一部分。

可能的解决方法是检查您尝试绘制标记的位置是否有另一个标记,如果有,请稍微移动新标记。