如何将Google Earth KML文件添加到html iframe?

时间:2014-10-27 23:35:30

标签: html iframe kml google-earth

基本上,我正在尝试在我的Google地球div上添加/显示我的KML文件到我的网站。我打电话给我的档案" satellites.kml"。

<!-- html code starts...-->

 <p><iframe 
       name="myKMLEarth" 
       src="/getrack/satellites.kml"
       height="440" 
       width="100%" 
       frameborder="0" 
       scrolling="no">
 </iframe></p>

<!-- html code continues ...-->

当页面加载时,它会下载我的KML而不是在iframe中打开它。我不应该使用src链接到KML文件吗?任何意见,将不胜感激!提前谢谢!

3 个答案:

答案 0 :(得分:3)

您必须使用Google Maps JavaScript API https://developers.google.com/maps/documentation/javascript/reference?hl=es

您必须将google.maps.KmlLayer附加到地图上。

将API脚本放在<head>

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&amp;sensor=false"></script>

创建一个div:

<div id="google-map" class="google-map"></div>

然后,在</body>之前使用此JS代码。将您的纬度,经度和路径设置为KML文件。

<script>
    function initialize() {
        var mapOptions = {
          center: new google.maps.LatLng(YOUR_LAT,YOUR_LNG), //Set your latitude, longitude
          zoom: 19,
          mapTypeId: google.maps.MapTypeId.SATELLITE,
          scrollwheel: false
        }

        var map = new google.maps.Map(document.getElementById('google-map'), mapOptions); // get the div by id

        var ctaLayer = new google.maps.KmlLayer({
          url: 'PATH/TO/FILE.kml' // Set the KML file
        });

        // attach the layer to the map
        ctaLayer.setMap(map);
    }

    // load the map
    google.maps.event.addDomListener(window, 'load', initialize);
</script>

答案 1 :(得分:1)

您似乎需要在其他应用程序中打开KML或使用插件。浏览器不知道如何在iframe中显示文件,因此只需下载即可。

From Google's KML Documentation: &#34;许多应用程序显示KML,包括Google Earth,Google Maps,Google Maps for Mobile,NASA WorldWind,ESRI ArcGIS Explorer,Adobe PhotoShop,AutoCAD和Yahoo!管&#34;

我不会100%理解你想要做什么,所以我无法确定这是否是你想要的,但这个问题可能会指出你正确的方向:{{ 3}}

答案 2 :(得分:1)

如果您可以使用Google地图而不是Google地球,则可以使用此处给出的KMLLayer来执行此操作:https://developers.google.com/maps/tutorials/kml/

仅供参考:Google已弃用Google地球API - https://developers.google.com/earth/documentation/index