[WordPress] カスタムの Google マップにマーカーのリンクを開く

スポンサーリンク

Question

Google マップ マーカー開くリンクをクリックするとプロジェクトに取り組んで。問題は、配列が開き、前のものではないの最後のエントリに。私は問題を見ることができません。ワードプレスでは、[テンプレート] ページで、設定し、functions.php ファイルで、wp_enqueue_script を使用しています。Header.php ファイルには、Google Maps API キーが含まれています。任意の助けいただければ幸いです。ありがとう

function initialize() {
    var mapOptions = {
      center: { lat: 32.5851061, lng: -89.8772196},
      zoom: 8
    };
    var map = new google.maps.Map(document.getElementById('map-canvas'),
        mapOptions);
    setMarkers(map, communities);
  }
  var communities = [
  ['Oxford', 34.360004, -89.5233875, 'http://oxfordcycling.org'],
  ['Starkville', 33.4562909, -88.8322225, 'http://starkvillecyclingclub.org'],
  ['Natchez', 31.544537, -91.3862539,     'http://crookedlettercycling.com/communities/natchez'],
  ['Ridgeland', 32.42941, -90.1454013, 'http://ridgelandms.com']
  ];
  function setMarkers(map, locations) {
    for (var i = 0; i < locations.length; i++) {
      var community = locations[i];
      var myLatLng = new google.maps.LatLng(community[1], community[2]);
      var marker = new google.maps.Marker({
        position: myLatLng,
        map: map,
        title: community[0],
        url: community[3],
      });
    }
    google.maps.event.addListener(marker, 'click', function() {
        window.open(this.url, '_blank');
    });
  }
  google.maps.event.addDomListener(window, 'load', initialize);

の答え

イベント リスナー内する必要があります、for ループ、それ以外の場合、最後のマーカーがイベントを受け取る] をクリックします

for (var i = 0; i < locations.length; i++) {
      var community = locations[i];
      var myLatLng = new google.maps.LatLng(community[1], community[2]);
      var marker = new google.maps.Marker({
        position: myLatLng,
        map: map,
        title: community[0],
        url: community[3],
      });
     google.maps.event.addListener(marker, 'click', function() {
        window.open(this.url, '_blank');
    });
}

http://stackoverflow.com/questions/26910573/custom-google-maps-to-open-marker-links

スポンサーリンク

Leave a Reply