-2
我有一个谷歌地图,其中包含单击地图上的标记时的infowindows。点击标记时,该标记的infowindow将打开并重新定位地图。单击Infowindow后重置Google Map位置
客户希望地图位置重置为原始位置,并在地图中关闭infowindow时关闭infowindow。
我到目前为止的代码如下。谢谢!!
<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));
}
您是否尝试过实现该功能?你遇到什么问题? – geocodezip
@geocodezip感谢您的回复。我添加了一个事件监听器,当点击地图时关闭infowindow,但我似乎无法重新定位地图。这里是我所拥有的:google.maps.event.addListener(map,“click”,function(event){ infowindow.close(); map.setCenter(center); }); –
请通过编辑您的问题来解决评论。 – geocodezip