首先,让我清楚的OpenLayers比谷歌地图更好,如果你想使用动态KML。接下来,我想给出一些我们将在OpenLayers中使用的简单JavaScript。你应该尝试它们,因为它也使用JavaScript库。
这里我简要介绍一下如何编写代码。
<html>
<head>
<title>Google Layer with KML file</title>
<link rel="stylesheet" href="http://openlayers.org/api/theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="http://openlayers.org/dev/examples/style.css" type="text/css" />
<script src='http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAl9RMqSzhPUXAfeBCXOussRTQDbvAygy0cfGJr8dEMAYKf3RWNBQqP9mjKIsqTfmAlz5LOJ3Xpy5s4w'></script>
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript">
var map;
function init() {
// Create the map object
map = new OpenLayers.Map('map');
// Create a Google layer
var gmap = new OpenLayers.Layer.Google(
"Google Streets", // the default
{numZoomLevels: 20}
);
// Add layer to map
map.addLayer(gmap);
//Adding KML file to map
map.addLayer(new OpenLayers.Layer.GML("KML", "yourkml.kml",
{
format: OpenLayers.Format.KML,
formatOptions: {
extractStyles: true,
extractAttributes: true,
maxDepth: 2
}
}));
// Zoom to Kuala Lumpur, Malaysia
map.setCenter(new OpenLayers.LonLat(101.686855,3.139003), 13);
}
</script>
</head>
<body onload="init()">
<h1 id="title">Google Layer with KML file</h1>
<div id="map" style='width: 700px; height: 700px'></div>
</body>
</html>
正如您所看到的,地图上有一个小小的橙色点。这是在Google地图上加载的KML文件。如果你想刷新它们,请检查这个link
最后但并非最不重要的,我希望我的回答对你来说还不算太迟。
您是否看过使用Fusion Tables进行“即时从kml中选择”类型的操作?这对你来说是一种选择吗? – Cups 2010-10-29 18:16:25
您好@Cups我喜欢这个主意,但是您知道数据是否必须公开,因为我必须保持私密,谢谢 – mklfarha 2010-11-03 16:20:22
不,您必须分享它才能从网络查询。 – Cups 2010-11-03 17:08:34