[英]Jvectormap markers draw wrong after setFocus call
我想將重點放在選擇美國州的美國州上。 代碼是這樣的:
var ddd = {
"US-VA": 1,
"US-PA": 1,
"US-TX": 1,
"US-RI": 1,
"US-SC": 1,
"US-OR": 1,
"US-CO": 1,
"US-KY": 1
};
var map = {};
$(function(){
map = new jvm.WorldMap({
map: 'us_aea_en',
backgroundColor: '#EEEEEE',
container: $('#us-map'),
regionsSelectable: true,
regionsSelectableOne: true,
regionStyle: {
initial: {
fill: '#777777',
"fill-opacity": 1,
stroke: 'none',
"stroke-width": 0,
"stroke-opacity": 1
}
},
series: {
regions: [{
values: ddd,
scale: ['#FF6633', '#FF6622'],
normalizeFunction: 'linear'
}]
},
markerStyle: {
initial: {
fill: '#F8E23B',
stroke: '#383f47'
}
},
markers: [
{latLng: [41.17, -74.92], name: 'New York'},
{latLng: [34.06, -118.25], name: 'Los Angeles'},
{latLng: [29.98, -95.54], name: 'Houston'},
{latLng: [42.42, -71.3], name: 'Boston'},
{latLng: [32.79, -96.81], name: 'Dallas'},
{latLng: [32.79, -79.95], name: 'Charleston'},
{latLng: [38.02, -122.89], name: 'San Francisco'},
{latLng: [35.17, -106.86], name: 'Albuquerque'},
{latLng: [35.72, -97.99], name: 'Oklahoma City'},
{latLng: [61.22, -149.91], name: 'Anchorage'},
{latLng: [21.47, -158.08], name: 'Honolulu'}
],
//onRegionSelected: function(event, isSelected, selectedRegions){
onRegionSelected: function(selectedRegions){
map.setFocus(9, selectedRegions);
}
});
});
當我選擇一個區域時,標記繪制在錯誤的位置。 可以看到很小的變化,就像地圖嘗試設置setFocus
,但是標記位於左上角。 我使用jvectormap-1.1.1.min.js和jquery-1.8.3.min.js
這是加載后的地圖:
這是選擇狀態后的地圖:
有什么線索嗎?
將onRegionSelected
方法的定義更改為:
onRegionSelected: function(e, code, isSelected, selectedRegions){
map.setFocus(selectedRegions);
}
setFocus
方法預期最多接收3個參數。 第一個是比例尺,區域代碼或區域代碼數組。 第二和第三個參數是centerX
和centerY
, centerY
指定視口的中心。
您將數字9
作為第一個參數發送,然后將第二個參數發送事件對象和奇怪的事情發生了。
另外,如果您為地圖設置regionsSelectableOne: false
,您將看到它縮放到適當的級別以包括所選區域(狀態)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.