如何在 drupal 7 中添加 KMZ 文件?

How to add KMZ file in drupal 7?

我有 KMZ 文件,但我不知道如何从 drupal 中显示它。所以,我研究并找到了那些代码。

function CoverageMap() {

  var map = new google.maps.Map(document.getElementById('coverageMap'), {
    zoom: 15,
    center: {lat: 16.800915763233845, lng: 96.1567211141123}
   });

   var kmzLayer = new google.maps.KmlLayer('http://test.dev/sites/all/themes/bootstrap_business/coverage/ygn_mdy.kmz');
   kmzLayer.setMap(map);

}

我输入这段代码并保存文件Coverage.js
但是,文件位置是静态位置,我想更改为动态位置,因为当我在服务器中上传文件时,位置不会像这样。
我可以把这个代码 <?php echo base_path().path_to_theme() ?>/coverage/ygn_mdy.kmz
KMZ 文件应该像这样离线放置还是有其他方法?
请帮我解决这个问题。我从 2 周前就一直在寻找这个。

我相信为您的 KML 设置动态路径不是问题,只要您将它们放在正确的文件中即可。将 <?php echo base_path().path_to_theme() ?> 添加到 javascript 文件中 Coverage.js 可能不会起作用,因为它只会被视为普通字符串。

我建议所有涉及 PHP 的 javascript 代码都应保存在 PHP 文件中。在您的情况下,将其保存为 Coverage.php 之类的代码,代码应如下所示:

function CoverageMap() {
  var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 11,
      center: {lat: 16.800915763233845, lng: 96.1567211141123 }
  });
  var kmzLayer = new google.maps.KmlLayer("<?php echo $base_path().$path_to_theme().'/coverage/ygn_mdy.kmz'; ?>");
  kmzLayer.setMap(map);
}

查看 Google Maps Javascript API KML Layers to learn more. You can also check Displaying KML 以了解有关显示 KML 文件信息的更多信息。

希望对您有所帮助!