如果扔掉,如何让谷歌地图中的小家伙回到最近的点?

在此Google地图示例中:http://code.google.com/apis/maps/documentation/javascript/examples/streetview-simple.html 例如,如果用户将这个小家伙放在远离海洋中间的地方,它就会消失。 但是在主要的谷歌地图网站http://maps.google.com/如果你让它显示街景,并且用户将这个人拖走,它会自动回到上一点。 在第一个示例中错过了什么使它的行为与谷歌地图网站相同? 这是示例的代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example: Street View Layer</title>
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/standard.css" rel="stylesheet" type="text/css" />
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
<script type="text/javascript">

  function initialize() {
    var fenway = new google.maps.LatLng(42.345573,-71.098326);
    var mapOptions = {
      center: fenway,
      zoom: 14,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(
        document.getElementById("map_canvas"), mapOptions);
    var panoramaOptions = {
      position: fenway,
      pov: {
        heading: 34,
        pitch: 10,
        zoom: 1
      }
    };
    var panorama = new  google.maps.StreetViewPanorama(document.getElementById("pano"),panoramaOptions);
    map.setStreetView(panorama);
  }
</script>
</head>
<body onload="initialize()">
  <div id="map_canvas" style="width: 400px; height: 300px"></div>
  <div id="pano" style="position:absolute; left:410px; top: 8px; width: 400px; height: 300px;"></div>
</body>
</html>
    
已邀请:
为此,请向position_changed添加一个事件侦听器,并使用它来存储pegman被删除的最后一个(有效)位置。
google.maps.event.addListener(panorama, 'position_changed', function() {
  // Store position
});
然后向visibility_changed添加一个事件监听器(当pegman掉入海洋时触发)将其设置回最后一个已知位置:
google.maps.event.addListener(panorama, 'visible_changed', function() {
  if (panorama.getVisible() == false && last_location) {
    panorama.setPosition(last_location);
  }
});
    

要回复问题请先登录注册