2014-05-22 242 views
0

我想用kartograph.js生成一個非常簡單的地圖。但一些如何我的代碼不工作。我看着它在Web開發人員的工具,它提供與函數沒有定義錯誤的JavaScript?

錯誤:未捕獲RefrenceError:loadmap沒有定義

<html> 
<head> 
    <script src="jquery-1.8.3.min.js"></script> 
    <script src="raphael-min.js"></script> 
    <script src="kartograph.min.js"></script> 


<!---starting karograph.js--> 

    <script language="JavaScript"> 
function loadmap(){ 
var map = Kartograph.map('#map', 900, 0); 

map.loadmap('map.svg', function() { 
    // add layers. 
     map.addLayer('countries'); 
     map.addLayer('depth'); 
     map.addLayer('trees'); 
     map.addLayer('crops'); 
     map.addLayer('rivers'); 
     map.addLayer('canals'); 
     map.addLayer('city'); 
     map.addLayer('states'); 
     map.addLayer('coast'); 
     map.addLayer('coast'); 
}); 
} 
</script> 
</head> 
<body onLoad = "loadmap()"> 
<div id = "map"> 
</div> 
</body> 
</html> 

回答

0

兩件事情:

儘量不要使用相同的函數名,它會使調試更容易(儘管在這種情況下技術上會起作用)。

map.loadmap應該map.loadMap http://kartograph.org/docs/kartograph.js/

試試這個:

$(document).ready(function() { 

var map = Kartograph.map('#map', 900, 0); 

map.loadMap('map.svg', function() { 

    // add layers. 
     map.addLayer('countries'); 
     map.addLayer('depth'); 
     map.addLayer('trees'); 
     map.addLayer('crops'); 
     map.addLayer('rivers'); 
     map.addLayer('canals'); 
     map.addLayer('city'); 
     map.addLayer('states'); 
     map.addLayer('coast'); 
     map.addLayer('coast'); 
}); 
}); 

而且從體內取出的onLoad。