我在谷歌地图应用程序中尝试过显示KML文件。我使用了google map api documentation for that.
当我加载HTML文件时,它只显示谷歌地图。我认为这个问题关于KML文件。我如何解决它 ..?我已将KML文件上传到我的google驱动器中,并将其分享为“任何有链接的人都可以编辑”。 但Google Maps API的示例正在运行...... !!
这是代码: -
<script>
var map;
var src = 'https://drive.google.com/open?id=0B5oAxCVEQK5uZ0tJcFBDaGRfajg';
function initialize() {
map = new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng(7.742291, 80.529785),
zoom: 7,
mapTypeId: google.maps.MapTypeId.TERRAIN
});
loadKmlLayer(src, map);
}
var kmlUrl = 'https://drive.google.com/open?id=0B5oAxCVEQK5uZ0tJcFBDaGRfajg';
var kmlOptions = {
suppressInfoWindows: true,
preserveViewport: false,
map: map
};
var kmlLayer = new google.maps.KmlLayer(kmlUrl, kmlOptions);
function loadKmlLayer(src, map) {
var kmlLayer = new google.maps.KmlLayer(src, {
suppressInfoWindows: true,
preserveViewport: false,
map: map
});
google.maps.event.addListener(kmlLayer, 'click', function(event) {
var content = event.featureData.infoWindowHtml;
var testimonial = document.getElementById('capture');
testimonial.innerHTML = content;
});}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
答案 0 :(得分:0)
这是问题的解决方案。整个代码是正确的,并且kml文件也是正确的。 关键是,我们无法将kml文件放在谷歌硬盘或Dropbox中。您必须在服务器上托管KML文件。为此你可以使用Google Sites to host Your KML。
可能有用: - Display KML in a Google Map及以下google api
https://developers.google.com/maps/documentation/javascript/tutorials/kml#overview