首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用angular2处理Google Map上的大数据集(100000)

使用angular2处理Google Map上的大数据集(100000)
EN

Stack Overflow用户
提问于 2017-07-26 17:11:59
回答 1查看 916关注 0票数 0

我在我的angular2应用程序中使用谷歌地图。我还使用了MarkerCluster,如下所示。

代码语言:javascript
运行
复制
 for (let marker of this._markers) {

        let lat = +marker.latitude;
        let long = +marker.longitude;

        let markerobj = new google.maps.Marker({
            position: new google.maps.LatLng(lat, long),
            title: marker.name,
            icon: {
                path: google.maps.SymbolPath.CIRCLE,
                scale: 6,
                fillOpacity: 0.8,
                fillColor: '#5A7793',
                strokeColor: '#FFFFFF',
                strokeWeight: 2,
            },
            map: this.map,
            visible: true,
        });
        this.markerLayer.push(markerobj);
        latlngbounds.extend(markerOnMap.getPosition());
        markerList.push(markerOnMap);
    }

 let markerCluster = new MarkerClusterer(this.map, markerList, { imagePath: '../assets/images' });

我想在谷歌地图上显示大约100000个标记。当我试图绘制100000个标记时,我面临着许多性能问题。

根据客户的要求,我不能使用其他地图库。我需要坚持使用谷歌地图。

你有什么建议可以帮助我提高性能吗?

EN

回答 1

Stack Overflow用户

发布于 2017-07-26 22:32:02

你不会一次绘制100,000个标记。您需要做的是减少一次显示的数据量。仅在放大时显示单个标记,这样视图中就不会有太多标记。

因此,我建议您根据google地图的边界从服务器加载标记。这就是左上角和右下角的坐标。

假设你有10万个标记分布在世界各地。在世界视图中,最好不要显示任何内容,并要求用户放大。一旦你处于较低的缩放级别,使用地图的边界从服务器获取位于这些边界内的标记。这将大大减少您必须显示的标记的数量。我不知道你的数据的覆盖范围,但你可以弄清楚哪种缩放级别最适合你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45322436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档