我有一个KMZ文件,如下所示:
example.kmz:
->example.png
->example.kmlexample.kml:
<?xml version="1.0" encoding="utf-8" ?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document id="root_doc">
<Schema name="test" id="test">
<SimpleField name="ID1" type="int"></SimpleField>
</Schema>
<Folder>
<name>Ground Overlays</name>
<visibility>0</visibility>
<description>Examples of ground overlays</description>
<GroundOverlay>
<name>example overlay</name>
<visibility>0</visibility>
<description>Overlay example png.</description>
<Icon>
<href>example.png</href>
</Icon>
<LatLonBox>
<north>50.080654</north>
<south>50.079959</south>
<east>19.993121</east>
<west>19.992118</west>
<rotation>0.0</rotation>
</LatLonBox>
</GroundOverlay>
</Folder>
</Document>
</kml>和这样的JS代码:
var map = new google.maps.Map(document.getElementById('mapDiv'), {
zoom: 11,
minZoom: 1,
streetViewControl: false
});
//adding kmz layer from file
var kmzLayer = new google.maps.KmlLayer('/kml/example.kmz');
kmzLayer.setMap(map);
var markers = [];
var bounds = new google.maps.LatLngBounds();
//adding markers
// Automatically center the map fitting all markers on the screen
map.fitBounds(bounds);问题是,映射是生成OK的,标记是ok的,但是控制台中没有错误,而来自KMZ文件的groundOverlay没有呈现在地图上。
我找不到理由-我错过了什么?我手动创建了KMZ文件-也许我漏掉了什么?但是,为什么没有错误呢?
谢谢你的帮助
我用elsevier-apps.sciverse.com/GoogleMaps/verification在线验证器检查了我的KMZ文件--那里一切都很好。
发布于 2015-06-16 09:25:09
因此,事实证明-您不能使用本地KML/KMZ文件。所有文件必须公开访问,您应该将工作URL放在new google.maps.KmlLayer(VALID_URL);中
或者..。
您可以使用geoxml3解析本地KMZ/KML文件。
所以现在,一切都很好:)我的KMZ文件是正确的,我的JS代码也是正确的(除了我上面描述的这个部分)。我希望它能帮助到某人:)
https://stackoverflow.com/questions/30846172
复制相似问题