kartograph.js를 어떻게 사용할 수 있나요?[닫은]
-
12-12-2019 - |
문제
kartograph.js 및 'kartograph.py' 라이브러리를 사용해 본 사람이 있습니까?실행하려면 'kartograph.py'가 필요한지 아시나요? Python을 설치하지 않고 'kartograph.py' 라이브러리를 어떻게 사용할 수 있나요?'kartograph.js'에서 'BBOX'를 빌드할 때 'kartograph.js'에 문제가 있기 때문입니다.
kartograph.js의 오류:
....
if (height === 0) height = width * .5;
alert(width);
me.viewport = new kartograph.BBox(0, 0, width, height);
**Uncaught TypeError: undefined is not a function**
me.paper = me.createSVGLayer();
me.markers = [];
me.pathById = {};
me.container.addClass('kartograph');
}
....
도움을 주셔서 감사합니다
HTML 페이지.$K.map을 빌드할 때 오류가 발생합니다.
<html lang="en">
<head>
<meta charset="utf-8" />
<title>GEOFRANCE</title>
<link href="/Styles/Site.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/script/js/script.min.js"></script>
$script(['/script/js/jquery.min.js','/script/js/raphael.min.js', '/script/js/kartograph.js', '/script/js/chroma.min.js'], 'kartograph');
$script(['/script/js/jquery.qtip.min.js'], 'qtip');
</head>
<body>
<div id="main">
<link rel="stylesheet" type="text/css" href="/Styles/jquery.qtip.css">
<script type="text/javascript">
$script.ready(['kartograph', 'qtip'], function () {
$(function () {
var map,
colorscale,
dep_data = {},
w = $('#map').parent().width();
$.fn.qtip.defaults.style.classes = 'ui-tooltip-bootstrap';
$.fn.qtip.defaults.style.def = false;
$.ajax({
url: 'departments.json',
dataType: 'json',
success: function (data) {
alert("test : " + w);
$.each(data, function (i, r) {
dep_data[r.id] = r;
})
map = $K.map('#map', w, w);
alert("test2 : " +w);
map.loadMap('france-departments.svg', function () {
map.addLayer('departments', {
titles: function (d) { return d.id },
styles: {
stroke: '0.5px'
},
tooltips: function (d) {
return [d.name, dep_data[d.id].density + '/km<sup>2</sup>'];
}
});
updateMap();
});
}
});
/*
* update map colors
*/
function updateMap() {
var prop = 'density', // $('.measure.btn-custom').data('value'),
scale = 'quantiles', // $('.scale.btn-custom').data('value'),
colors = $('#colors').get(0).value;
colorscale = new chroma.ColorScale({
colors: chroma.brewer[colors],
limits: chroma.limits(dep_data, scale, 7, prop)
});
map.getLayer('departments').style({
fill: function (d) {
return colorscale.getColor(dep_data[d.id][prop]);
}
});
}
// init user interface
$('.btn').click(function (event) {
var tgt = $(event.target), par = tgt.parent();
$('.btn', par).removeClass('btn-custom');
tgt.addClass('btn-custom');
updateMap();
});
$('#colors').change(updateMap);
$('#colors').keyup(updateMap);
});
});
</script>
<div id="map">
</div>
</div>
</body>
</html>
해결책
kartograph.py와 함께 사용할 지도를 생성해야 합니다. 그러면 다음 질문에 직접 답이 됩니다. 예, 지도를 사용하려면 Python을 설치해야 합니다.Python 인터프리터 없이는 Python으로 작성된 것을 실행할 수 없습니다.
해당 BBox 방법에 대해 어디서 읽었는지 잘 모르겠지만 문서에는 다른 내용이 나와 있습니다. http://kartograph.org/docs/kartograph.js/
제휴하지 않습니다 StackOverflow