0

我想知道是否可以在谷歌地球上创建建筑物;与我的网络服务器交换信息。所以我可以改变它,比如来自网络服务器的墙壁颜色,或者服务每分钟发送一次新值。谢谢

4

1 回答 1

0

是的,您可以创建一个 3d 对象并将其加载到 google earth 中,然后调整其属性。一种方法是使用加载所需模型数据的 NetWorkLink 文件。您可以设置 NetWorkLink 以根据各种条件进行刷新,并且可以在 herf 属性中指定 CGI 脚本。一个伪示例将像这样工作。

1)在kml中定义的网络链接

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
    <NetworkLink>
      <refreshVisibility>0</refreshVisibility>
      <flyToView>1</flyToView>
      <Link>
        <refreshInterval>2</refreshInterval>
        <viewRefreshMode>onStop</viewRefreshMode>
        <viewRefreshTime>1</viewRefreshTime>
        <href>http://yourserver.com/cgi-bin/loadbuilding.php</href>
      </Link>
    </NetworkLink>
</kml>

2)herf中指定的cgi脚本

  <?php
   // some logic to select a particular kmz file etc
   $fullPath = "path to your file";

   if ($fd = fopen ($fullPath, "r")) {
     header("Content-type: application/octet-stream");
     header("Content-Disposition: filename=building.kmz");
     header("Content-Type: application/vnd.google-earth.kml+xml\n");
     while(!feof($fd)) {
       $buffer = fread($fd, 2048);
       echo $buffer;
     }
     fclose ($fd);
     exit;
    }
  ?>
于 2011-02-25T18:34:09.237 回答