将 v2 更新到 v3 谷歌地图 API 未加载

Updating v2 to v3 Google maps API Not loading

本文关键字:API 加载 谷歌地图 v3 v2 更新      更新时间:2023-09-26

我的任务是将我们的 API 调用从 v2 更新到 v3,这是它正在渲染的代码。但是,返回的谷歌地图只是一个空白区域,所以显然我做错了什么。

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=fakekey&sensor=false"></script>
        <script type="text/javascript">
        function onLoad(xLat,yLong,strAddress,mapname) {
            var map = new google.maps.Map(document.getElementById(mapname));

        //map.addControl(new GMapTypeControl());
         alert(xLat);
            var initialLocation = new google.maps.LatLng(xLat,yLong);
        var point = new google.maps.Point(xLat,yLong);
        // Create a marker whose info window displays the given number.
        function createMarker(point, number, strMessage) {
            var marker = new google.maps.Marker(point);

        // Show this marker's index in the info window when it is clicked.
        google.maps.event.addListener(marker, 'click', function() {
            marker.openInfoWindowHtml(strMessage);
        });
        return marker;
        }
        var marker = createMarker(point, 1, strAddress);
        marker.setMap(map);
        }
        </script>

检查这个: https://developers.google.com/maps/documentation/javascript/v2/v2tov3:)问候-维托尔

  1. 在v2中,Point和LatLng有时可以互换使用。使用 google.maps.LatLng 获取地理坐标
  2. 您需要提供用于初始化地图的中心、缩放和类型的选项。
  3. marker.openInfoWindow 是一个 v2 方法,您需要将其替换为 v3 等效方法。
  4. google.maps.Marker 构造函数的语法不正确,它需要一个 MarkersOptions 对象。

    <script type="text/javascript">
    function onLoad(xLat,yLong,strAddress,mapname) {
      var initialLocation = new google.maps.LatLng(xLat,yLong);
      var mapOptions = {center: initialLocation,
                        zoom: 8,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                       };
      var map = new google.maps.Map(document.getElementById(mapname), mapOptions);
      var marker = createMarker(map, initialLocation, 1, strAddress);
      marker.setMap(map);
    }
    function createMarker(map, point, number, strMessage) {
      var marker = new google.maps.Marker({position: point});
      var infowindow = new google.maps.InfoWindow({});
      // Show this marker's index in the info window when it is clicked.
      google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(strMessage);
        infowindow.open(map,marker);
      });
      return marker;
    }
    </script>