我有一个单独的地图应用程序,它读取地图的当前中心并抓取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>
答案 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>