标签: markerclusterer

Google地图:在markerclusterer上方渲染标记

我有一组标记可以聚集在我的地图上.另一组标记单独显示,我碰巧需要将这些标记显示在聚类上方.我尝试在群集选项对象中设置zIndex,低于第二组标记的zIndex,但无济于事.知道如何去做吗?

javascript google-maps-api-3 google-maps-markers markerclusterer

13
推荐指数
2
解决办法
6938
查看次数

MarkerClusterer在同一个地方有多个标记

我正在使用MarkerClusterer.当我在完全相同的位置上有两个或更多标记时,API仅显示1个标记 - 最上面的一个.但不知何故,我想显示所有标记,因为每个标记将打开不同的弹出窗口.我搜索了几个解决方案,但没有一个似乎工作任何人都有类似的问题,并会分享一个解决方案?

google-maps google-maps-api-3 markerclusterer

13
推荐指数
1
解决办法
2万
查看次数

使用集群管理器在地图上添加新标记不会反映更改,直到我放大并缩小地图

当我使用集群管理器以编程方式在地图上添加新标记时,它不会反映更改,直到我更新放大和缩小.

我已经看到很多关于堆栈溢出的问题,但这对我不起作用,

所以请告诉我如何在不清除地图的情况下更新地图.

码:

 for (int i = 0; i < name.length; i++)
 { 
   Person_marker person_marker = new Person_marker(createRandLocation(latLng),
   name[i], getAddress(latLng), typedArray.getResourceId(i, -1), time[i], acuracy[i]);
   person_markerList.add(person_marker);
 } 
clusterManager.clearItems(); clusterManager.addItems(person_markerList);
Run Code Online (Sandbox Code Playgroud)

android google-maps markerclusterer android-maps-utils

13
推荐指数
1
解决办法
2980
查看次数

使用markerclusterer v3获取谷歌地图边界中的标记列表

我目前有一个谷歌地图填充了数据库中的数据.我正在使用markerclusterer v3来聚类标记以使地图加载更快.我已经搜索了文档,似乎无法找到一种方法来获取地图边界中所有标记的列表.基本上我正在尝试在外部div中创建标记地址的外部列表.目前在页面加载时,它会附加整个收件人列表.我想要做的只是标记,以及当时出现在该地图上的群集中包含的标记出现在列表中.所以在缩放13处有6个簇,每个簇有3个,还有一个独奏标记.在缩放14处,存在3个3和2个独立标记的簇.在缩放13处,列表中将有19个地址,而在缩放14处,列表中将有11个地址.只是地图边界中的标记列表.我目前在初始地图创建时加载所有地址一次.我想在每次缩放时向服务器创建一个ajax帖子,但认为在每个地图移动上调用服务器都没有必要.必须有一种方法来获取由markersclusterer控制的边界中的标记列表.

.js文件

var markers = [];       
for (var i = 0; i < data.coords.length; i++) {
    var dataInd = data.coords[i];
    var latLng = new google.maps.LatLng(dataInd[1],dataInd[2]);
    var marker = new google.maps.Marker({position: latLng});
    markers.push(marker);

}
var map;
var myOptions = {
    zoom: 13,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};
function init() {
    map = new google.maps.Map(document.getElementById("map"), myOptions);
    var markerCluster = new MarkerClusterer(map, markers);
}
for (var i=0; i < markers.length; i++) {
    if (map.getBounds.contains(markers[i])) {
         console.log(markers);
    } else {
         console.log('failed');
    }
}

google.maps.event.addDomListener(window, 'load', …
Run Code Online (Sandbox Code Playgroud)

jquery google-maps google-maps-api-3 markerclusterer

12
推荐指数
1
解决办法
3万
查看次数

MarkerCluster V3停止正常工作

我正在使用来自github的MarkerCluster_compiled.js.但是当逻辑工作时,它的图形从昨天开始失败.

该问题似乎是由" https://google-maps-utility-library-v3.googlecode.com/svn "返回404 引起的,并且所有群集标记图像都依赖于此网址.(这个谷歌地图v3 svn网址仍然在谷歌的公共领域)

在我看来,这个特殊的"404"的影响并非微不足道,因为我看到人们的现场网站已经受到影响.我很惊讶这个问题可能发生在谷歌身上.

例如:github.io上的marker-clusterer的advanced_example不再有效(由于声誉不佳,我无法发布链接).

期待看到Google修复此问题或任何其他建议.

google-maps markerclusterer

11
推荐指数
2
解决办法
2409
查看次数

Google Maps V3渲染超过100万个标记(在合理的时间内)

我最近使用API​​的V3(最新版本)创建了Google Map.我的要求之一是我能够渲染超过100万个标记(在合理的时间内).合理的时间不到15秒.

我知道同时渲染所有100万个标记是相当疯狂的,这就是我调查性能选项的原因.我遇到的一个选项是MarkerClusterer:https://developers.google.com/maps/articles/toomanymarkers

但是,我现在开始在使用超过100,000个标记测试MarkerClusterer时看到性能问题,因为渲染地图和标记需要很长时间(1分钟+).最终,我设法使页面崩溃了大约200,000个标记.

使用这么多标记时,有没有办法提高地图的性能?

在此先感谢您的帮助.

javascript performance google-maps google-maps-api-3 markerclusterer

10
推荐指数
2
解决办法
1万
查看次数

Google Maps v2 for Android中的刷新制作者(ClusterItems)

我正在使用谷歌地图Android API实用程序库,我正在从互联网上下载我想用作标记的某些图像.我正在做的方式就像在下面的代码片段:

class MarkerItemClusterRenderer extends DefaultClusterRenderer<MarkerItem> {
...
    @Override
        protected void onBeforeClusterItemRendered(MarkerItem item,
                final MarkerOptions markerOptions) {
            super.onBeforeClusterItemRendered(item, markerOptions);
            mImageLoader.get(item.getImageUrl(), new ImageListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.i("XXX", error.toString());
                }

                @Override
                public void onResponse(ImageContainer response, boolean isImmediate) {
                    if (response != null && response.getBitmap() != null) {
                        mImageIcon.setImageBitmap(response.getBitmap());
                        Bitmap icon = mIconGenerator.makeIcon();
                        Bitmap bhalfsize = Bitmap.createScaledBitmap(icon, 150,
                                150, false);
                        markerOptions.icon(BitmapDescriptorFactory
                                .fromBitmap(bhalfsize));
                    }
                }
            });
        }
Run Code Online (Sandbox Code Playgroud)

问题是,当下载图像时,地图(以及标记)不会刷新,因此大多数时候(但并非总是如此)我仍然会看到红色的默认标记.

我试过,mImageIcon.invalidate(); mImageIcon.requestLayout();但仍然没有运气.

反正有没有实现这个目标?非常感谢提前.

android google-maps google-maps-markers markerclusterer google-maps-android-api-2

10
推荐指数
2
解决办法
1896
查看次数

以一种颜色获取Google Map MarkerClusterer Plus图标

有人可以让我知道如何设置MarkerClusterer plus以显示一种颜色的所有群集吗?正如你所看到的那样,当MarkerClusterer在一个范围外时会自动改变它们的颜色,但我想让它们全部用一种颜色?

谢谢

在此输入图像描述

google-maps-api-3 markerclusterer

10
推荐指数
2
解决办法
8236
查看次数

DefaultClusterRenderer getMarker()在缩放时返回null

我想在点击时更改群集标记的背景.我通过这样做

@Override
onClusterClick(Cluster<MyObject> cluster) {
    Marker marker = renderer.getMarker(cluster);
    marker.setIcon(....);
}
Run Code Online (Sandbox Code Playgroud)

对于一种情况,这很好用:当我放大或缩小时,簇标记的数量不会改变.例如,如果我有一个15个集群和一个5个集群,那么放大或缩小一个级别,保留相同的两个集群.单击其中一个现在renderer.getMarker(cluster)返回null.如果它们在缩放后重新聚类,则getMarker不为null.

我的DefaultClusterRenderer在下面.我检查了标记onClusteredRendered,它永远不会为空.这是DefaultClusterRenderer中的错误还是应该执行其他操作?

private class MyRenderer extends DefaultClusterRenderer<MyObject> {

    private IconGenerator iconGenerator;
    private float density;

    public MyRenderer(Context context, GoogleMap map, ClusterManager<MyObject> clusterManager) {
        super(context, map, clusterManager);
        density = context.getResources().getDisplayMetrics().density;
    }

    @Override
    protected void onBeforeClusterItemRendered(MyObject item, MarkerOptions markerOptions) {
        markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.my_pin));
    }

    @Override
    protected void onBeforeClusterRendered(Cluster<MyObject> cluster, MarkerOptions markerOptions) {
        if(iconGenerator == null) {
            iconGenerator = new IconGenerator(getActivity());
            iconGenerator.setContentView(makeTextView(getActivity()));
        }
        iconGenerator.setBackground(makeBackground(false));

        markerOptions.icon(BitmapDescriptorFactory.fromBitmap(iconGenerator.makeIcon(String.valueOf(cluster.getSize()))));
    }

    @Override
    protected void onClusterRendered(Cluster<MyObject> cluster, …
Run Code Online (Sandbox Code Playgroud)

android google-maps markerclusterer

10
推荐指数
1
解决办法
1804
查看次数

React Native Maps重叠标记

React-Native-Maps当我点击它们时,我使用和我的地图标记引脚相互重叠,我可以选择想要的那个吗?

我已将此库用于Web端.

在此输入图像描述

markerclusterer react-native react-native-maps

10
推荐指数
1
解决办法
516
查看次数