Gmaps API - 带有图标和图标的许多标记。手机上的标签加载速度慢

时间:2017-08-04 13:22:16

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

我使用Google Maps API来显示许多标记(数千)。如果我没有在标记上添加自定义标签和图标(几秒钟),加载这些标记就可以正常工作,但是当我向标记添加自定义标签和图标时,它们在手机上加载速度非常慢/ strong>(在Android上约25秒)。我创建了一个codepen来说明问题:https://codepen.io/anon/pen/qXqpjN在这个代码中,5000个标记是随机生成的。当您打开此codepen时,它会在计算机上快速加载,但在移动电话上会很慢。我使用以下代码创建每个标记:

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

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

{{1}}

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

2 个答案:

答案 0 :(得分:0)

您有两种选择:聚类和距离。

  • 群集:群集数据和某些算法,当用户放大并缩小时,您只显示群集的一个点或全部。
  • 距离:使用空间算法(如KD树),以便仅快速选择地图当前中心附近的标记。

在移动设备上,您可以直接显示100/200标记,不再显示。

答案 1 :(得分:0)

我建议三种方式:

<强> 1。使用群集

https://developers.google.com/maps/documentation/javascript/marker-clustering

<强> 2。使用Fusion Tables

https://support.google.com/fusiontables/answer/1244603?hl=en

第3。使用地理服务器: http://geoserver.org/

第1步:安装geoserver

第2步:使用您的数据创建一个图层并发布为WMS

第3步:在Google地图上加载图层(WMS)