2016-05-17 63 views
2

據我所知,zip中的縮小文件只是基本代碼,並不包含庫。因此,我運行了build.sh文件,並生成了另一個我的腳本中包含的縮小文件。jVectorMap - setFocus錯誤 - jQuery

後市展望:

我試圖點擊時放大標記。我有一個運行在事件onMarkerClick上的函數。

問題:

我已經看過(2)不同崗位:

兩個職位產生第同樣的確切錯誤。

錯誤:

Error: <g> attribute transform: Expected number, "scale(NaN) translate(N…". jquery.jvectormap.min.js:733

線733 - this.rootElement.node.setAttribute('transform', 'scale('+scale+') translate('+transX+', '+transY+')');

顯然+scale+不是數字(NAN)

+0

Hi Rob;你能提供一個小提琴來重現你的問題嗎? – Hackerman

回答

2

我有一堆錯誤,但最終縮小它下。首先,我認爲cmarkers[c].latitudemarkers[c].longitude,但它沒有。接下來的錯誤是不及格的配置到setFocus功能

 onMarkerClick: function (e, c) { 
      setFocusLatLng(5, markers[c].latLng[0], markers[c].latLng[1]); 
     } 

// sets focus on marker clicked 
function setFocusLatLng(scale, lat, lng) { 
    var mapObj = $('#map').vectorMap('get', 'mapObject'); 

    var config = { 
     animate: true, 
     lat: lat, 
     lng: lng, 
     scale: scale 
    } 

    mapObj.setFocus(config) 
} 

更新:

如果你需要平移回來了完整地圖,並設置焦點的中心地圖:

// sets focus on center of map and zooms back out to full view 
function setFocusMapCenter() { 
    var mapObj = $('#map').vectorMap('get', 'mapObject'), 
     center = mapObj.pointToLatLng(mapObj.width/2, mapObj.height/2); 

    var config = { 
     animate: true, 
     lat: center.lat, 
     lng: center.lng, 
     scale: 1 
    } 

    mapObj.setFocus(config) 
} 
0

我已經與今天的這個問題進行了鬥爭,我會離開我的修復,以防萬一我可能幫助別人。

我有同樣的錯誤,而試圖通過集中的ID是這樣的:

$('#world-map').vectorMap('get', 'mapObject'); 
map.setFocus(regionId) 

但是你必須通過下面寫了一個對象,它完美的作品。該文件說明了它,但它不是很清楚,用一個例子它會更好地工作

$('#world-map').vectorMap('get', 'mapObject'); 
map.setFocus({region: regionId})