互动谷歌土楼

时间:2010-03-04 12:51:31

标签: google-earth

我想知道是否有可能在谷歌地球上建立建筑物;那 与我的网络服务器交换信息。所以我可以改变它的让我们 从网络服务器说墙面颜色,或者服务发送每分钟新值。 谢谢

1 个答案:

答案 0 :(得分:0)

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

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;
    }
  ?>