Google maps 单击信息窗口后重置Google地图位置

Google maps 单击信息窗口后重置Google地图位置,google-maps,Google Maps,我有一个谷歌地图,当点击地图上的标记时,它包含了信息窗口。单击标记时,该标记的信息窗口将打开并重新定位地图 客户端希望地图位置重置为原始位置,并在单击地图中离开信息窗口的任何位置时关闭信息窗口 到目前为止,我的代码如下。谢谢 <script src="https://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script> <script type="text/javas

我有一个谷歌地图,当点击地图上的标记时,它包含了信息窗口。单击标记时,该标记的信息窗口将打开并重新定位地图

客户端希望地图位置重置为原始位置,并在单击地图中离开信息窗口的任何位置时关闭信息窗口

到目前为止,我的代码如下。谢谢

  <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));
}

变量位置=[
[alt=“General Image”>,38.4505064,-122.7268983,4],
[alt=“General Image”>,38.377517,-121.946924,5],
[alt=“General Image”>,38.574165,-121.559870,3],
[alt=“General Image”>,38.794887,-121.217039,2],
[''alt=“General Image”>',38.670913,-121.160873,1]
];
var map=new google.maps.map(document.getElementById('custommaploading'){
缩放:9,
中心:新google.maps.LatLng(38.477191,-121.5400331),
mapTypeId:google.maps.mapTypeId.ROADMAP,
滚轮:错误,
});
var infowindow=new google.maps.infowindow();
var标记,i;
对于(i=0;i

我找到了答案。下面是答案,以防其他人需要它:

//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);
});

您是否尝试实现该功能?您遇到了什么问题?@geocodezip感谢您的回复。我添加了一个事件侦听器以在单击地图时关闭信息窗口,但我似乎无法重新定位地图。以下是我所拥有的:google.maps.event.addListener(地图,“单击”,函数(事件){infowindow.close();map.setCenter(center);});请通过回答您的问题来发表评论。谢谢,我已经解决了。