Javascript Gmaps API-许多带有图标和;移动设备上的标签加载速度慢

Javascript Gmaps API-许多带有图标和;移动设备上的标签加载速度慢,javascript,android,google-maps,google-maps-api-3,google-maps-markers,Javascript,Android,Google Maps,Google Maps Api 3,Google Maps Markers,我正在使用显示多个标记(数千个)。如果我不向标记添加自定义标签和图标(几秒钟),加载这些标记效果很好,但是当我向标记添加自定义标签和图标时,它们在手机上的加载速度非常慢(在Android上大约25秒)。我创建了一个代码笔来说明这个问题:在这个代码笔中,随机生成了5000个标记。当你打开这个密码笔时,它在电脑上的加载速度很快,但在手机上的加载速度很慢。我使用以下代码创建每个标记: var marker = new google.maps.Marker({ position: myLatLn

我正在使用显示多个标记(数千个)。如果我不向标记添加自定义标签和图标(几秒钟),加载这些标记效果很好,但是当我向标记添加自定义标签和图标时,它们在手机上的加载速度非常慢(在Android上大约25秒)。我创建了一个代码笔来说明这个问题:在这个代码笔中,随机生成了5000个标记。当你打开这个密码笔时,它在电脑上的加载速度很快,但在手机上的加载速度很慢。我使用以下代码创建每个标记:

var marker = new google.maps.Marker({
    position: myLatLng,
    label: {
        color: '#000000',
        fontWeight: 'bold',
        text: 'text',
    },
    icon: {
        labelOrigin: new google.maps.Point(24, 14),
        url: 'http://reistip.nl/assets/img/gmap/icon/emoticons/icongreenbigprice.png',
        size: new google.maps.Size(50, 60),
        origin: new google.maps.Point(0, 0),
        anchor: new google.maps.Point(11, 40),
    },

});
如果我将上面的代码替换为下面的代码(没有自定义标签和图标的标记),则可以正常加载:

    var marker = new google.maps.Marker({
        position: myLatLng,
        title: 'Hello World!'
    });

如何在手机上快速加载具有自定义标签和图标的标记?

您有两个选项:群集和距离

  • 聚类:将数据与一些算法一起聚类,当用户放大和缩小时,只显示一个或全部聚类的一个点
  • 距离:使用空间算法(如KD树),以便仅快速选择地图当前中心附近的标记
在手机上,您通常可以显示100/200个标记,不能再显示了。

我建议使用三种方式:

1。使用群集

2。使用融合表

3。使用地理服务器:

步骤1:安装geoserver

步骤2:使用数据创建图层并发布为WMS


步骤3:在谷歌地图上加载图层(WMS)

谢谢你的建议。实际上,我已经在使用集群库(markerclustererplus)对标记进行集群。在手机上显示5000个标记实际上可以,只要我不在标记上添加自定义标签/图标。你或者其他人知道为什么在标记上添加标签/图标会对移动电话上标记的加载速度产生如此显著的影响吗?你应该发布你的代码。如果你使用UI线程执行加载位图等繁重的处理,通常会发生这种情况。是的,我创建了一个代码笔:这说明了问题,有没有优化代码以缩短手机上标记加载时间的技巧?