2017-06-20 26 views
-2

地図のマーカーをクリックすると、情報ウィンドウが表示されます。マーカをクリックすると、そのマーカの情報ウィンドウが開き、マップが再配置されます。InfowindowをクリックしてGoogleマップの位置をリセットする

クライアントは、地図の場所を元の位置にリセットし、地図内の情報ウィンドウをオフにしたときに情報ウィンドウを閉じることができます。

私がこれまでに持っているコードは以下の通りです。ありがとうございました!!

<script src="https://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script> 
<script type="text/javascript"> 
var locations = [ 
    ['<div class="leftalign"><?php echo $addr1; ?></div> <div class="rightalign"><img src="<?php echo $addr1_image; ?>" alt="General Image"></div>', 38.4505064,-122.7268983, 4], 
    ['<div class="leftalign"><?php echo $addr2; ?></div> <div class="rightalign"><img src="<?php echo $addr2_image; ?>" alt="General Image"></div>', 38.377517, -121.946924, 5], 
    ['<div class="leftalign"><?php echo $addr3; ?></div> <div class="rightalign"><img src="<?php echo $addr3_image; ?>" alt="General Image"></div>', 38.574165, -121.559870, 3], 
    ['<div class="leftalign"><?php echo $addr4; ?></div> <div class="rightalign"><img src="<?php echo $addr4_image; ?>" alt="General Image"></div>', 38.794887, -121.217039, 2], 
    ['<div class="leftalign"><?php echo $addr5; ?></div> <div class="rightalign"><img src="<?php echo $addr5_image; ?>" alt="General Image"></div>', 38.670913, -121.160873, 1] 
]; 

var map = new google.maps.Map(document.getElementById('custommaploading'), { 
    zoom: 9, 
    center: new google.maps.LatLng(38.477191,-121.5400331), 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    scrollwheel: false, 
}); 

var infowindow = new google.maps.InfoWindow(); 

var marker, i; 

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

    google.maps.event.addListener(marker, 'click', (function(marker, i) { 
    return function() { 
     infowindow.setContent(locations[i][0]); 
     infowindow.open(map, marker); 
    } 
    })(marker, i)); 
} 

+0

あなたはその機能を実装しようとしましたか?どのような問題が発生しましたか? – geocodezip

+0

@geocodezip返信いただきありがとうございます。私は、地図をクリックしたときに情報ウィンドウを閉じるためにイベントリスナーを追加しましたが、マップの位置を変更することはできません。 google.maps.event.addListener(map、 "click"、function(event)){ infowindow.close(); map.setCenter(center); }); –

+0

あなたの質問に[編集]することでコメントにお答えください。 – geocodezip

答えて

-1

私はそれを考え出しました。他の人がそれを必要とする場合の答えは次のとおりです。

//Latitude and Longitude position 
var myLatlng = {lat: 38.477191, lng: -121.5400331}; 

//On map click 
google.maps.event.addListener(map, "click", function(event) { 
//Close all info windows 
infowindow.close(); 
//Center the map 
map.setCenter(myLatlng); 
}); 
関連する問題