<!DOCTYPE html>
<html>
  <head>
    <title>Image map types</title>
    <style>
      html, body, #map-canvas {
        height: 100%;
        margin: 0px;
        padding: 0px
      }
    </style>
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
    <script>
var moonTypeOptions = {
  getTileUrl: function(coord, zoom) {
      var bound = Math.pow(2, zoom);
      return 'full-out' +
          '/' + zoom + '/' + coord.x + '/' +
          (bound - coord.y - 1) + '.png';
  },
  tileSize: new google.maps.Size(256, 256),
  maxZoom: 6,
  minZoom: 1,
  radius: 1738000,
  name: 'Moon'
};

var moonMapType = new google.maps.ImageMapType(moonTypeOptions);


function initialize() {
  var myLatlng = new google.maps.LatLng(0, 0);
  var mapOptions = {
    center: myLatlng,
    zoom: 1,
    streetViewControl: false,
    mapTypeControlOptions: {
      mapTypeIds: ['moon']
    }
  };

  var map = new google.maps.Map(document.getElementById('map-canvas'),
      mapOptions);
  map.mapTypes.set('moon', moonMapType);
  map.setMapTypeId('moon');

  var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title: 'Hello World!'
  });
}

google.maps.event.addDomListener(window, 'load', initialize);

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


我有上面的代码来渲染19 mb的自定义大16834 * 16834图像,使用gdal2tiles和gdal_translate将其分解为图块。简而言之,我拥有所有对应的图块。
上面的代码可以完美呈现精美的图像和不同的缩放级别。但是,当我添加标记时,它会以较低的缩放级别多次显示。我希望标记不要水平重复。

有什么办法可以避免水平重复标记?目前,我使用的Leaflet.js不会像Google Maps库那样水平重复标记。

我想使用Google地图,因为它的稳定性和受欢迎程度。

我正在使用Ubuntu 14.04作为操作系统。

最佳答案

将标记的optimized选项设置为false

关于javascript - 在ImageMapType上水平重复Google Maps Marker,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24836258/

10-12 13:10