0

さまざまな場所の配列をループできるマップを作成しようとしています。次に、ランダムな座標の位置を設定したいと思います。そのため、ページをリロードするたびにランダムにマーカーを配置する座標が 1 つ必要です。

    function initialize() {
    //here is the starting for the map, where it will begin to show
    var latlng = new google.maps.LatLng(59.2982762, 17.9970823);

    var myOptions = {
      zoom: 13,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
      //below are the markers coordinates, change it to your coordinates
        var map = new google.maps.Map(document.getElementById('map-canvas'),  myOptions);

        var i = 0;
        function randAreas() {
        var flagAreas = (Math.round(Math.random())-0.5);
    }

      var flagAreas = [

      [59.2967322, 18.0009393],
      [59.2980245, 17.9971503],
      [59.2981078, 17.9980875],
      [59.2982762, 17.9970823],
      [59.2987638, 17.9917639],
      [59.2987649, 17.9917824],
      [59.2987847, 17.9917731],
      [59.2988498, 17.991684],
      [59.2988503, 17.9981593],
      [59.3008233, 18.0041763],
      [59.3014033, 18.0068793],
      [59.3016619, 18.0137766]
      ];

    return flagAreas;

    flagAreas.sort(randAreas);

      //script counts the array of coordinates
      //for (var i = 0; i < flagAreas.length; i++) {
        var marker = new google.maps.Marker({
          position: new google.maps.LatLng(flagAreas[i], flagAreas[i]),
          map: map,
        });
      }

 window.onload = initialize;

</script>
4

2 に答える 2

0

コードには 3 つの問題があります。

1)ループinitializeを実行せずに が予期せず終了した。for

 return flagAreas;  //Remove this code

2)

flagAreas[i] //An array returns both lat and lng

position: new google.maps.LatLng(flagAreas[i], flagAreas[i]) //Wrong

のように置き換えます

position: new google.maps.LatLng(flagAreas[i][0], flagAreas[i][1]) //Correct

,3)最後のオプションに達するたびに削除します。

 map: map

最後にJSFiddleでこれを確認します

于 2013-10-21T09:28:32.333 に答える