标记谷歌地图Android自动隐藏/显示

时间:2015-07-23 03:21:09

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

我正在使用Google Maps API开发包含大量标记的地图。这是我的绘图功能:

var test = null;
$.get("/zeWebsite.php?blarg=421", function(data){
    test = data.trim();
}).done(function (data){
   // data also accessible here as is
   alert(test);
});

并覆盖Onconnected:

    //Draw marker to google map
private void drawMarker(LatLng point,String title,String snipped){
    Marker marker=mGoogleMap.addMarker(new MarkerOptions()
            .title(title)
            .snippet(snipped)
            .position(point));
}

问题是:1 /我的应用花费了大量时间在谷歌地图上绘制标记,我的应用程序是如此延迟。然后我想只在我看到的屏幕地图上绘制标记。当我移动地图时,新标记将出现,旧标记将消失。
2 /我希望在缩小时收集组中的相邻位置,并在放大时自动分离。
3 /非常感谢你。大家度过美好的一天:)

1 个答案:

答案 0 :(得分:0)

您可以使用OnCameraChangeListner()执行此操作。您可以检查MarkOption方法中onCameraChange()是否在您可见区域内。

示例代码:

        final List<MarkerOptions> markerOptions = new ArrayList<MarkerOptions>();
        markerOptions.add(markerOne);
        markerOptions.add(markerTwo);

        mMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
            @Override
            public void onCameraChange(CameraPosition cameraPosition) {
                LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;
                for (MarkerOptions option : markerOptions) {
                    if (bounds.contains(option.getPosition())) {
                        mMap.addMarker(option);
                    }
                }
            }
        });