我正在使用来自美国 wikimedia commons 地图的 SVG 路径。我已经挑出了宾夕法尼亚州及其县。我正在从数据库中输入路径并使用 Raphael 2.1 将它们放在页面上。
因为在原始地图中,宾夕法尼亚州是如此之小并且有一个角度,所以我想放大路径并旋转 Pa. 使其不在一个角度上。
当我尝试使用拉斐尔的变换方法时,所有的县看起来都很奇怪并且重叠。
当我听说它不适用于所有浏览器时,我放弃了设置 viewBox。
有人有想法么?
这是我的代码:
$(document).ready(function() {
var $paths = []; //array of paths
var $thisPath; //variable to hold whichever path we're drawing
$.post('getmapdata.php',
function(data){
var objData = jQuery.parseJSON(data);
for (var i=0; i<objData.length; i++) {
$paths.push(objData[i].path);
//$counties.push(objData[i].name);
}//end for
drawMap($paths);
})
function drawMap(data) {
// var map = new Raphael(document.getElementById('map_div_id'),0, 0);
var map = new Raphael(0, 0, 520, 320);
//map.setViewBox(0,0,500,309, true);
for (var i = 0; i < data.length; i++) {
var thisPath = map.path(data[i]);
thisPath.transform(s2);
thisPath.attr({stroke:"#FFFFFF", fill:"#CBCBCB","stroke-width":"0.5"});
} //end cycling through i
}//end drawMap
});//end program