簡體   English   中英

Google Maps v3 API擴展范圍map.fitBounds無法擴展范​​圍

[英]Google Maps v3 API Extend Bounds, map.fitBounds, can't extend the bounds

該地圖顯示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>

您的界限必須是google.maps.LatLngBounds對象。
您永遠不會構造它。

添加(在調用擴展之前)

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

順便說一句-您應該會收到javascript錯誤,這很清楚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM