API Карт icon.scaledSize не работает - PullRequest
0 голосов
/ 28 апреля 2018

Я хочу, чтобы API Карт icon.scaledSize работал как в JSFiddle https://jsfiddle.net/z2mzzry4/1/,, но не могу. Иконки остаются в одном размере.

Я работаю в следующем коде:

<!DOCTYPE html>
<html>
  <head>
    <title>Simple Map</title>
    <meta name="viewport" content="initial-scale=1.0">
    <meta charset="utf-8">
    <style>
      #map {
        height: 100%;
      }
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>
      var map;
      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          center: {lat: -3.5679, lng: -39.12},
          zoom: 8
        });
        var marker2 = new google.maps.Marker
        ({
          position: new google.maps.LatLng(-3.5679, -39.12),
          title: 'Sample 2',
          draggable: false,
          map: map,
          icon: 'http://icons.iconarchive.com/icons/paomedia/small-n-flat/48/map-marker-icon.png',
        });
        marker2.icon.scaledSize = new google.maps.Size(2 * 50, 2 * 50);
        var marker3 = new google.maps.Marker
        ({
          position: new google.maps.LatLng(-3.5679, -39.1295),
          title: 'Sample 3',
          draggable: false,
          map: map,
          icon: 'http://icons.iconarchive.com/icons/paomedia/small-n-flat/48/map-marker-icon.png',
         });
         marker3.icon.scaledSize = new google.maps.Size(3 * 50, 3 * 50);
      }
    </script>
    <script async defer src="https://maps.googleapis.com/maps/api/js?key=MYKEY&callback=initMap"></script>
  </body>
</html>

Я просматривал многие интернет-сайты, но не могу понять проблему.

Что не так?

1 Ответ

0 голосов
/ 29 апреля 2018

Если вы передаете литерал объекта вместо строки свойству icon в конструкторе, это должно решить проблему

var marker2 = new google.maps.Marker({
    position: new google.maps.LatLng(-3.5679, -39.12),
    title: 'Sample 2',
    draggable: false,
    map: map,
    icon: {
        url: 'http://icons.iconarchive.com/icons/paomedia/small-n-flat/48/map-marker-icon.png'
    }
});

marker2.icon.scaledSize = new google.maps.Size(2 * 50, 2 * 50);
...