1

まず、自分が何をしているのかわからないということから始めましょう。この前に実際にjsを実行していません。マーカーを少し遅らせてドロップさせようとしています。私は自分の研究を行い、いくつかの記事を試しましたが、それらを機能させることができません。これが私のコードです:

<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=KEY&sensor=false">
    </script>
    <script type="text/javascript">
      function initialize() {
        var mapOptions = {
          center: new google.maps.LatLng(52.365642,5.181599),
          zoom: 13,
          zoomControl: false,
          scaleControl: false,
          scrollwheel: false,
          disableDoubleClickZoom: true,
          disableDefaultUI: true,
          mapTypeId: google.maps.MapTypeId.ROADMAP,

          styles: [{"stylers":[{ "saturation": -29 },{ "visibility": "simplified" }]},
          {"elementType": "labels", "stylers": [{ "visibility": "off" }]}]
        }; 

        var map = new google.maps.Map(document.getElementById("map-canvas"),
            mapOptions);

        setMarkers(map, locaties);
      }

      var locaties = [
        ['Bondi en zo', 52.365642, 5.181599],
        ['Coogee en zo', 52.365642, 5.182599],
        ['Cronulla en zo', 52.365642, 5.183599],
        ['Manly en zo', 52.365642, 5.184599],
        ['Maroubra en zo', 52.365642, 5.185599]
      ];


      function drop() {
        for (var i =0; i < locaties.length; i++) {
          setTimeout(function() {
            setMarkers();
          }, i * 200);
        }
      }

      function setMarkers(map, locations) {

        for (var i = 0; i < locations.length; i++) {
          var klant = locations[i];
          var myLatLng = new google.maps.LatLng(klant[1], klant[2]);
          var marker = new google.maps.Marker({
              position: myLatLng,
              map: map,
              animation: google.maps.Animation.DROP
          });
        }
      }

      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
  </head>
  <body>
    <div id="map-canvas"></div>
  </body>
</html>

ps、ええ、私はキーを変更しました

4

1 に答える 1

3

このように関数を変更すると、ドロップ関数が間隔を作成してマーカーをドロップし、setMarkers関数が場所を繰り返してドロップ関数を呼び出します。

      function drop(map, myLatLng) {
          setTimeout(function() {
            var marker = new google.maps.Marker({
              position: myLatLng,
              map: map,
              animation: google.maps.Animation.DROP
            });
          }, i * 200);
      }

      function setMarkers(map, locations) {
        for (var i = 0; i < locations.length; i++) {
          var klant = locations[i];
          var myLatLng = new google.maps.LatLng(klant[1], klant[2]);
          drop(map, myLatLng);
        }
      }

PS:あちこちに貼り付けコードをコピーするのではなく、最初に彼らが説明しようとしていることを理解し、キーを変更してくれてありがとう;)

于 2013-03-26T05:31:48.060 に答える