Highcharts Map点击创建marker并获取经纬度坐标实现示例咨询
Highcharts Map 点击添加标记并显示经纬度实现示例
核心实现逻辑为监听地图点击事件,获取坐标后动态添加点标记图层即可,完整配置代码如下:
Highcharts.mapChart('container', { chart: { map: 'custom/world', events: { click: function (e) { // 提取点击位置经纬度 const lat = e.latLon.lat; const lon = e.latLon.lon; // 向标记点图层新增点位 this.series[1].addPoint({ lat: lat, lon: lon, name: `${lat.toFixed(2)}, ${lon.toFixed(2)}` }); // 可选:临时弹窗展示坐标 Highcharts.toast({ message: `点击坐标:纬度 ${lat.toFixed(2)},经度 ${lon.toFixed(2)}`, timeout: 2500 }); } } }, title: { text: '世界地图点击标记功能' }, series: [ // 底图图层 { name: '世界地图', allowPointSelect: false }, // 标记点专属图层 { type: 'mappoint', color: '#f43f5e', marker: { radius: 5, lineWidth: 1, lineColor: '#fff' }, dataLabels: { enabled: true, format: '{point.name}' } } ] });
- 页面需要提前定义ID为
container的DOM元素作为地图渲染容器,宽高可根据业务需求自定义 - 经纬度保留位数可通过调整
toFixed()的入参修改,默认保留2位小数 - 若需要实现点击删除已添加标记,可绑定标记点的点击事件调用
remove()方法完成
内容的提问来源于stack exchange,提问作者user389128
相关产品推荐
相关产品推荐

