Я новичок в Cesium (и JavaScript) и пытаюсь создать веб-страницу, на которой пользователь может выбрать файл KML, нажать кнопку загрузки и загрузить KML в средство просмотра Cesium. На данный момент я настроил тестовую страницу с жестко закодированным файлом, но когда я нажимаю кнопку, KML не загружается. Как мне это сделать? Вот мой код:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<!-- Tell IE to use the latest, best version (or Chrome Frame if pre-IE11). -->
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
<!-- Make the application on mobile take up the full browser screen and disable user scaling. -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"/>
<title>Map Demo of Cesium</title>
<script type="text/javascript" src="../Build/Cesium/Cesium.js"></script>
<style type="text/css">
@import url(../Build/Cesium/Widgets/widgets.css);
html, body, #cesiumContainer {
width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
</style>
<script type="text/javascript">
function load_file()
cesiumContainer.viewer.dataSources.removeAll();
cesiumContainer.viewer.dataSources.add(Cesium.KmlDataSource.load(../apps/SampleData/kml/MyData.kml'));
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label">Select a file for viewing:</asp:Label>
<br />
<asp:DropDownList ID="DropDownList1" runat="server" Width="208px">
</asp:DropDownList>
<br />
<asp:Button ID="Button1" runat="server" Text="View" OnClientClick ="load_file()" />
<br />
<br />
</div>
<div id="cesiumContainer" ></div>
<script type="text/javascript" >
var viewer = new Cesium.Viewer('cesiumContainer',
{imageryProvider : new Cesium.ArcGisMapServerImageryProvider({
url : '//server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
}),
baseLayerPicker : false, timeline : false, animation : false
});
var layers = viewer.imageryLayers;
var blackMarble = layers.addImageryProvider(new Cesium.ArcGisMapServerImageryProvider({
url : '//server.arcgisonline.com/ArcGIS/rest/services/reference/World_Boundaries_and_Places/MapServer'
}));
viewer.homeButton.viewModel.command();
viewer.camera.setView({position : Cesium.Cartesian3.fromDegrees(10.00, 45.0, 4500000.0)});
</script>
</form>
</body>
</html>