gpt4 book ai didi

javascript - 从 javascript 读取 kml 中的特定属性

转载 作者:行者123 更新时间:2023-11-28 08:01:34 25 4
gpt4 key购买 nike

我有一张来自mapquest API的 map ,我还使用Leaflet来显示邮政编码,并在多边形中心有一个L.divIcon来显示邮政编码。一切工作都很好,除了我必须手动输入多边形的中心作为在 JavaScript 中显示 divIcon 的位置。

我想知道是否有一种方法可以从javascript读取kml来获取多边形的中心。我可以使用 Qgis 计算中心并将其保存到 kml 中:

    ........
<Placemark>

<name>77029</name>

<ExtendedData><SchemaData schemaUrl="#center_jacinto">

<SimpleData name="Descriptio">Jacinto City</SimpleData>
</SchemaData></ExtendedData>
//This is the data I want to read from javascript if I can->
<Point><coordinates>-95.262889587410186,29.761518060337306</coordinates>
</Point>
.....

kml 将绘制一个我不想要的标记,我只想要纬度和经度,然后我将绘制我的图标..

编辑:我添加了这个,但什么也没得到,对于 javascript 和 html 来说非常新,所以我确定顺序是错误的

     <html>

<head>
<title>Leaflet</title>
<link rel="stylesheet" href="leaflet.css" />
<link rel="stylesheet" href="leaflet.label.css" />


<script src="leaflet.js"></script>
<script src="leaflet.label.js"></script>

<script src="KML.js"></script>
<script src="http://www.mapquestapi.com/sdk/leaflet/v1.0/mq-map.js?key=key">
</script>





</head>

</body >
<div style="color:black ;width:100%; height:100%" id="map"></div>
<script type='text/javascript'>




function myfunction()
{
alert('ok');
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("GET","center_jacinto.kml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
parser = new DOMParser(); // new Parser
xmlDoc = parser.parseFromString(xmlDoc,"text/xml"); // Parse string
txt=xmlDoc.getElementsByTagName("Point")[0].childNodes[0].nodeValue;
console.log(txt);
}



window.load = myfunction;




var mapLayer = MQ.mapLayer();


var map = new L.Map('map', {
center: new L.LatLng(29.7630556,-95.3630556),
zoom: 10
});
var layer = L.tileLayer('http://otile{s}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpeg', {

attribution: 'xxxx',
subdomains: '1234',
}).addTo(map);



var track = new L.KML("center_jacinto.kml", {async: true});
track.on("loaded", function(e) { map.fitBounds(e.target.getBounds()); });



map.addControl(new L.Control.Layers({'map': mapLayer.addTo(map)},
{'jacinto':track

}));

console.log(map.getZoom());
map.addLayer(track);


map.addLayer(layer);






</script>
</body>


</html>

最佳答案

shramov KML plugin不支持读取 SimpleData 属性。您可能想使用 leaflet-omnivore相反,因为确实如此。

关于javascript - 从 javascript 读取 kml 中的特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25330277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com