有什么方法可以在 Google 地图中使用 KMZ 文件吗?我的 KML 文件约为 10.7MB,因此无法加载到 Google 地图上。 KMZ 文件大约 2MB。我认为唯一的方法是拥有多个 KML,但工作量太大。我可能最终会这样做,但只是想知道是否可以使用 KMZ?
谢谢。
是的,您可以使用地图 API 指定 KMZ 文件:
var kmzLayer = new google.maps.KmlLayer('http://www.kmzlinks.com/redirect.asp?id=110&file=PalmIsland%2Ekmz');
kmzLayer.setMap(map);
在您的具体情况下,您的脚本应如下所示:
<script type="text/javascript">
function initialize() {
var myOptions = {
center: new google.maps.LatLng(58.33, -98.52),
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var kmzLayer = new google.maps.KmlLayer('http://xeenat.com/energy/data.kmz');
kmzLayer.setMap(map);
}
</script>
但是 - 您的 KML 太大了。尽管它作为 KMZ 被压缩到 2MB,但地图会查看解压后的大小,在您的情况下,它大于 10MB。尝试将其缩小一点 - 如果将您的 KMZ URL 替换为上面第一个片段中的 URL,它将起作用。看来您需要使用多个 KML 文件。也许您可以将 KMZ 加载到 Google 地球中,然后将每个省保存为自己的文件(右键单击地球“地点”选项卡中的文件夹,然后选择另存为...)
是的,您可以以与指定 KML 文件完全相同的方式指定 KMZ 文件,您甚至可以同时设置两者,注意除了变量名称和文件扩展名之外没有任何变化:
var kmz_Layer = new google.maps.KmlLayer('http://www.kmzlinks.com/redirect.asp?id=110&file=PalmIsland%2Ekmz');
var kml_Layer = new google.maps.KmlLayer('http://www.kmzlinks.com/redirect.asp?id=110&file=PalmIsland%2Ekml');
kml_Layer.setMap(map);
kmz_Layer.setMap(map);
pessoal estou trabalhando com kmz、kml porem ele sao muito grandes、existe alguma forma、mesmo paga de carregar um arquivo desse tamanho na web e depoismostrar sobre o mapa? ele tem aproximadamente 50mb(kmz) seria possivel?