将坐标传递到HTML页面以在新窗口中打开Goog​​le街景

时间:2016-04-20 22:42:45

标签: javascript google-maps-api-3

我有一个单独的地图应用程序,它读取地图的当前中心并抓取lat和long,然后将这些变量传递给HTML页面。 这是HTML页面及其javascript的代码。这将打开一个新窗口,但不显示街景,也不会出错。

  var lat = getParameterByName('lat');
  var lon = getParameterByName('lon');

  var panorama;
  function initialize() {
    panorama = new google.maps.StreetViewPanorama(
        document.getElementById('street-view'),
        {
          position: {lat: ""+lat+"", lng: ""+lon+""}, //bad code???
          pov: {heading: 165, pitch: 0},
          zoom: 1
        });
  }
</script>
<script async defer
     src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBaSDR10ovsZ0rxygIpheEgrR2YjpbJHbg&callback=initialize">
</script>

1 个答案:

答案 0 :(得分:0)

google.maps.LatLngLiteral中移除“”,并且可能谨慎对这些字符串使用parseFloat

代码段

var lat = 40.713613; // getParameterByName('lat');
var lon = -74.006757; // getParameterByName('lon');

var panorama;

function initialize() {
  panorama = new google.maps.StreetViewPanorama(
    document.getElementById('street-view'), {
      position: {
        lat: parseFloat(lat),
        lng: parseFloat(lon)
      },
      pov: {
        heading: 165,
        pitch: 0
      },
      zoom: 1
    });
}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#street-view {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="street-view"></div>

相关问题