Google Map MarkerCluster 点聚合使用简介
谷歌地图点聚合功能的实现,及参数设置
1.使用 NPM 安装最新版本的 @googlemaps/markerclusterer 库。
npm install @googlemaps/markerclusterer
2.在应用中添加标记聚类器
import { MarkerClusterer } from "@googlemaps/markerclusterer";
const markerCluster = new MarkerClusterer({ map, markers });
3.使用情况
import { MarkerClusterer,defaultOnClusterClickHandler } from "@googlemaps/markerclusterer";
let markerClusterer = null;
function initMap() {
//初始化地图
const map = new google.maps.Map(document.getElementById("map"), {
zoom: 3,
center: { lat: -28.024, lng: 140.887 },
});
const labels = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// 创建一个设置markers方法
const setMarkers = (setmarkers) => {return setmarkers.map((location, i) => {
return new google.maps.Marker({
position: location,
label: labels[i % labels.length],
});
})};
// 创建渲染器,可修改文字样式及显示集群的图片
const renderer = {
render: ({ count, position }) =>
new google.maps.Marker({
label: { text: String(count), color: "white", fontSize: "16px"},
position,
icon: {
//设置集群的图片
url: this.renderImg,
scaledSize: new google.maps.Size(65, 32),
},
// 设置zIndex
zIndex: Number(google.maps.Marker.MAX_ZINDEX) + count,
}),
};
// 创建一个聚合方法
const setClusters = (setclusters) => {
return new MarkerClusterer({markers:setclusters,map:this.nodeMap,renderer,onClusterClick:onClusterClickHandler})
// 点击后集群底下的Markers
clusterMarkers = []
// 点击聚合的点,获取集群底下的Markers
const onClusterClickHandler = (event,cluster,map)=>{
clusterMarkers = cluster.markers.map((item, index, arr) => {
return item
});
defaultOnClusterClickHandler(event,cluster,map)
}
const markers = setMarkers(locations);
markerClusterer = setClusters(markers);
}
const locations = [
{ lat: -31.56391, lng: 147.154312 },{ lat: -33.718234, lng: 150.363181 },{ lat: -33.727111, lng: 150.371124 },{ lat: -33.848588, lng: 151.209834 },{ lat: -33.851702, lng: 151.216968 },{ lat: -34.671264, lng: 150.863657 },{ lat: -35.304724, lng: 148.662905 },{ lat: -36.817685, lng: 175.699196 },{ lat: -36.828611, lng: 175.790222 },{ lat: -37.75, lng: 145.116667 },{ lat: -37.759859, lng: 145.128708 },{ lat: -37.765015, lng: 145.133858 },{ lat: -37.770104, lng: 145.143299 },{ lat: -37.7737, lng: 145.145187 },{ lat: -37.774785, lng: 145.137978 },{ lat: -37.819616, lng: 144.968119 },{ lat: -38.330766, lng: 144.695692 },{ lat: -39.927193, lng: 175.053218 },{ lat: -41.330162, lng: 174.865694 },{ lat: -42.734358, lng: 147.439506 },{ lat: -42.734358, lng: 147.501315 },{ lat: -42.735258, lng: 147.438 },{ lat: -43.999792, lng: 170.463352 }, ];
Google Map MarkerCluster 点聚合使用简介相关推荐
- google map for ios聚合
google map for ios聚合 必须番羽墙才可以用google map,不管是android手机还是ios,都需要番羽墙才可用....并且android手机还需要装google服务框架 io ...
- 在google map上显示Instagram的照片
之前Instagram有一个在地图上显示照片的功能,可惜后来这个功能去掉了.INS的官方说法是因为这个功能的使用率很低,因此最后舍弃了这个功能.其实我觉得这个功能还蛮好的,看到自己的照片遍布全世界很有 ...
- 开发基于 Google Map 的 Android 应用
开发基于 Google Map 的 Android 应用 张 谦, 软件工程师, IBM 吴 校军, 高级软件工程师, IBM 苏 琳, 软件工程师, IBM 简介: 随着移动互联网应用的迅速发展,利 ...
- google map
Google 地图 API 概念 http://code.google.com/intl/zh-CN/apis/maps/documentation/index.html#Localization G ...
- Google Map开发之实战
视频课:[免费]跨平台APP JQuery Mobile开发-1-初探移动开发-张晨光的在线视频教程-CSDN程序员研修院 学习内容 Google Map服务简介 获取Google Map API K ...
- google map api v3 的marker使用label的方法(markerwithlabel的使用)
简介 公司有个需求就是需要实现在marker下面显示标题的名称,百度地图api里面这些东西都有,但是google查了一遍api,却没有找到,通过搜索发现了markerwithlabel这样一个组件,能 ...
- 在网页中轻松插入google map地图
Google Map 是什么?这是Google公司(谷歌)推出的一项地图服务,我私下把它归为一种GIS服务.它不仅仅是一幅简单的电子地图图片,而是一种互动的.内涵丰富的GIS集成.当你打开 http: ...
- Android特色开发之Google MAP
本文节选于机械工业出版社推出的<Android应用开发揭秘>一书,作者为杨丰盛.本书内容全面,详细讲解了Android框架.Android组件.用户界面开发.游戏开发.数据存储.多媒体开发 ...
- 关于Google Map API V2 版本的定位与导航
近来,在关注安卓手机上的GoogleMap应用的开发,但是目前官方API版本网页版已经升级到V3版,而对于Android的支持也已经升级到V2版本,虽然Google说继续对V1版提供服务,但是不再提供 ...
- 分享两篇Google Map API的介绍
这两篇文章也不知道我是什么时候下载下来的,一直丢在桌面上没有看,但终于在年后无聊就看了一下,结果让我心潮澎湃,一起哈成了"都让Google做了我们还做什么?(WebMap方向)"一 ...
最新文章
- 燕大计算机专业档次,河北省高校排名:分为四个档次,燕大在第二档,第三档有八所高校...
- C# WPF:把文件给我拖进来!!!
- ArcGIS实验教程——实验三十八:基于ArcGIS的等高线、山体阴影、山顶点提取案例教程
- 如何用纯 CSS 创作一个冒着热气的咖啡杯
- linux 安装 maven 、解决:bash: mvn: command not found
- azure api 管理_通过成本管理跟踪Azure成本
- 文件怎么更新_iOS屏蔽更新描述文件以及超级详细安装方法分享
- aceadmin1.4框架treeview多选改造
- python list倒序_Python 面试:这9个问题你一定要掌握!
- 安装原生Win7-SP1系统
- 《SegStereo: Exploiting Semantic Information for Disparity Estimation》
- TokenGazer评级丨TRON:BTT众筹谋求熊市破局,生态繁荣但数据受到质疑
- 赵小楼《天道》《遥远的救世主》深度解析(135)观念,传统观念,传统观念有没有用取决于观念,而不在传统
- 分别实现网页播放mp3、flv、wmv、Flash,代码兼容FireFox
- 常用aso优化技巧,分享ASO关键词优化的几个小技巧
- IO Workload Characterization Revisited: A Data-Mining Approach
- LLC开关电源详细工作过程
- 数字信号处理基础----FM的调制与解调(1)
- 如何使用QQ号来注册腾讯云新用户账号并完成实名认证?
- 微信 和 支付宝 公众服务号开发者文档