0

我正在尝试实现自己的基本图像映射。但是我的代码出错了。它在我突出显示的行(带* *)上遇到错误。地图回退到默认路线图。错误消息只是“错误”,我不知道发生了什么。

你能帮忙看看吗?

非常感谢!

我的 JavaScript 代码:

  <html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      html { height: 100% }
      body { height: 100%; margin: 0; padding: 0 }
      #map-canvas { height: 100% }
    </style>
    <script type="text/javascript"
      src="https://maps.googleapis.com/maps/api/js?key=my-api-key&sensor=true">
    </script>
    <script>

      // custom map type
      var mapTypeOptions = {
        getTileUrl: function(coord, zoom) {
           return 'http://http://placehold.it/256x256.gif';
        },
        tileSize: new google.maps.Size(256, 256),
        name: 'Some Place',
      };
      var customMapType = new google.maps.ImageMapType(mapTypeOptions);

      // initalize function
      function initialize() {

        // try to create a new map with custom map type
        var mapOptions = {
          center: new google.maps.LatLng(22.33173, 114.16061),
          zoom: 17,
          minZoom: 17,
          mapTypeId: google.maps.MapTypeId.ROADMAP,
        };

        var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
        map.mapTypes.set('ssp', customMapType); // ****
        map.setMapTypeId('ssp');    
      }
      google.maps.event.addDomListener(window, 'load', initialize);

    </script>
  </head>
  <body>
  <div id="map-canvas"/>
  </body>
  </html>
4

1 回答 1

1

看起来您缺少配置设置

mapTypeControlOptions: {
  mapTypeIds: ["ssp"]
}

此外,您需要定义maxzoomfor mapTypeOptions

查看示例:https ://developers.google.com/maps/documentation/javascript/maptypes#ImageMapTypes

您还遇到了一些验证错误,请在关闭对象之前删除尾随逗号。

于 2013-08-15T06:10:49.320 回答