自定义街景

时间:2013-05-07 20:09:55

标签: google-maps google-maps-api-3 google-earth google-street-view

我正在尝试创建建筑物内部的自定义Google街景。我看了很多地方,我已经看到了如何做的基本想法。 我一直在使用这个链接 http://googlemaps.googlermania.com/google_maps_api_v3/en/custom_streetview/index.html 以及其他例子。 他们似乎有非常相似的代码,但他们似乎缺乏的是如何设置文件。 如果有人知道我在哪里可以找到一个有效的例子,那么如果有人可以给我一些详细的指示,我应该能够向后工作。我会非常感激。

我有一个运行Ubuntu服务器的VirtualBox。

在服务器上,我有一个名为street.html的html文件(下面的代码)。

我还有一个名为“lab_tiles”的文件夹,其中包含“lab_test”,其中包含几个带有命名模式XX-YY_s1.jpg的jpeg(即00-00_s1.jpg,00-01_s1.jpg,00-02_s1。 JPG)

我有以下html文件的代码。

<!DOCTYPE html>
<html>
  <head>
    <title>Custom Street View panorama tiles</title>
    <meta charset="utf-8">
    <link href="/maps/documentation/javascript/examples/default.css" rel="stylesheet">
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>

<script type='text/javascript'>

function code3_2() {
  // Set StreetView provider.
  var streetViewOptions = {
    zoom: 1,
    pano : "lab_test",
    panoProvider:  getCustomPanorama
  };
  // Create a StreetView object.
  var streetViewDiv = document.getElementById('streetview_canvas1');
  streetViewDiv.style.fontSize = "15px";
  var streetView = new google.maps.StreetViewPanorama(streetViewDiv, streetViewOptions);
}

function getCustomPanoramaTileUrl(panoID, zoom, tileX, tileY) {
  // Return a pano image given the panoID.
  return "lab_tiles/" + panoID + '/'  + tileX + '-' +tileY + '_s1.jpg';
}

function getCustomPanorama(panoID) {
  var streetViewPanoramaData = {
    links: [],
    copyright: 'People at my job',
    tiles: {
        tileSize: new google.maps.Size(256, 256),
        worldSize: new google.maps.Size(2048, 1024),
        centerHeading: 0,
        getTileUrl: getCustomPanoramaTileUrl
     }
  };
  switch(panoID) {
    case "lab_test":
      streetViewPanoramaData["location"] = {
        pano: 'lab_test',
        description: "lab test",
        latLng: new google.maps.LatLng(37.556429,-122.050745)
      };
      return streetViewPanoramaData;
  }
}

google.maps.event.addDomListener(window, 'load', code3_2);
    </script>



  </head>
  <body>
    <div id="map-canvas"></div>
  </body>
</html>

1 个答案:

答案 0 :(得分:0)

查看您提供的链接,您似乎可以将(图块)图像放在任何您想要的位置。下面的函数用于指定检索它们的位置。

function getCustomPanoramaTileUrl(panoID, zoom, tileX, tileY) {
  // Return a pano image given the panoID.
  return "ardenwood_tiles/" + panoID + '/'  + tileX + '-' +tileY + '_s1.jpg';
}

在这种情况下,图像将位于名为ardenwood_tiles / visitor_center /

的文件夹中