【发布时间】:2018-03-14 11:54:13
【问题描述】:
我正在与 Highmaps 合作,但在使用 lat-lon 位置绘制的地图点上遇到了工具提示问题。
一切都是正确的,但工具提示是针对离鼠标光标最近的点。 这导致即使在地图的白色容器区域也启用显示工具提示。
当地图上有多个经纬度点时,这会导致问题。
我尝试在该点上使用 Mouse-Over 和 Mouse-out 事件,但结果相同,从鼠标非常远的地方检测到点。
Highmaps lat-lon 演示中也可以看到该问题。
[<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.6/proj4.js"></script>
<script src="https://code.highcharts.com/maps/highmaps.js"></script>
<script src="https://code.highcharts.com/maps/modules/exporting.js"></script>
<script src="https://code.highcharts.com/maps/modules/offline-exporting.js"></script>
<script src="https://code.highcharts.com/mapdata/countries/gb/gb-all.js"></script>
<div id="container"></div>
// Initiate the chart
Highcharts.mapChart('container', {
chart: {
map: 'countries/gb/gb-all'
},
title: {
text: 'Highmaps basic lat/lon demo'
},
mapNavigation: {
enabled: true
},
tooltip: {
headerFormat: '',
pointFormat: '<b>{point.name}</b><br>Lat: {point.lat}, Lon: {point.lon}'
},
series: \[{
// Use the gb-all map with no data as a basemap
name: 'Basemap',
borderColor: '#A0A0A0',
nullColor: 'rgba(200, 200, 200, 0.3)',
showInLegend: false
}, {
name: 'Separators',
type: 'mapline',
nullColor: '#707070',
showInLegend: false,
enableMouseTracking: false
}, {
// Specify points using lat/lon
type: 'mappoint',
name: 'Cities',
color: Highcharts.getOptions().colors\[1\],
data: \[{
name: 'London',
lat: 51.507222,
lon: -0.1275
}, {
name: 'Birmingham',
lat: 52.483056,
lon: -1.893611
}, {
name: 'Leeds',
lat: 53.799722,
lon: -1.549167
}, {
name: 'Glasgow',
lat: 55.858,
lon: -4.259
}, {
name: 'Sheffield',
lat: 53.383611,
lon: -1.466944
}, {
name: 'Liverpool',
lat: 53.4,
lon: -3
}, {
name: 'Bristol',
lat: 51.45,
lon: -2.583333
}, {
name: 'Belfast',
lat: 54.597,
lon: -5.93
}, {
name: 'Lerwick',
lat: 60.155,
lon: -1.145,
dataLabels: {
align: 'left',
x: 5,
verticalAlign: 'middle'
}
}\]
}\]
});]
当鼠标正好在点上时,有什么方法可以显示工具提示。
【问题讨论】:
-
看看api.highcharts.com/highmaps/plotOptions.series.stickyTracking,禁用
stickyTracking的演示:jsfiddle.net/ewolden/qgoc1p5z -
非常感谢 ewolden .. 它就像魅力一样,请添加与答案相同的内容:)
标签: highcharts highmaps