簡體   English   中英

setFocus調用后Jvectormap標記繪制錯誤

[英]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.jsjquery-1.8.3.min.js

這是加載后的地圖: 在此處輸入圖片說明

這是選擇狀態后的地圖: 在此處輸入圖片說明

有什么線索嗎?

onRegionSelected方法的定義更改為:

onRegionSelected: function(e, code, isSelected,  selectedRegions){
     map.setFocus(selectedRegions);
}

setFocus方法預期最多接收3個參數。 第一個是比例尺,區域代碼或區域代碼數組。 第二和第三個參數是centerXcenterYcenterY指定視口的中心。

您將數字9作為第一個參數發送,然后將第二個參數發送事件對象和奇怪的事情發生了。

另外,如果您為地圖設置regionsSelectableOne: false ,您將看到它縮放到適當的級別以包括所選區域(狀態)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM