2014-05-22 150 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。