0

该地图显示 2 个标记,一个带有地理位置坐标,另一个带有一些随机坐标。我无法扩展边界以适应地图中的两个标记。怎么了?先感谢您。

<!DOCTYPE html>
<html>
  <head>
    <title>Google Maps JavaScript API v3 Example: Map Geolocation</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=yes">
    <meta charset="UTF-8">
    <link href="https://google-developers.appspot.com/maps/documentation/javascript/examples/default.css"
      rel="stylesheet" type="text/css">

    <script type="text/javascript"
        src="https://maps.googleapis.com/maps/api/js?sensor=true"></script>

    <script type="text/javascript">
      var map;

      function initialize() {
        var myOptions = {
          zoom: 18,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById('map_canvas'),
            myOptions);

        // Try HTML5 geolocation
        if(navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function(position) {
            var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
            var geolocation = new google.maps.Marker({position: pos, map: map, title: 'Your geolocation', });

            var latitude=47.03249;
            var longitude=28.833747;
            var pos2=new google.maps.LatLng(latitude,longitude);
            var geolocation2 = new google.maps.Marker({position: pos2,map: map,title: 'Your geolocation',});

            var pos3=new google.maps.LatLng((position.coords.latitude+latitude)/2,(position.coords.longitude+longitude)/2);
            map.setCenter(pos3);

            bounds.extend(geolocation.getPosition());              
            bounds.extend(geolocation2.getPosition());  

    map.fitBounds(bounds);

            }, 
            function() {handleNoGeolocation(true);});
        } 
        else {handleNoGeolocation(false);
        }

      }

      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
  </head>
  <body>
    <div id="map_canvas" style='width:400px; height:400px;'></div>
  </body>
</html>
4

1 回答 1

1

你的界限需要是一个 google.maps.LatLngBounds 对象。
你永远不会建造它。

添加(在您调用 extend 之前的某处):

var bounds = new google.maps.LatLngBounds();

顺便说一句 - 你应该得到让这一点非常清楚的 javascript 错误。

于 2012-07-11T01:00:53.590 回答