我正在尝试使用谷歌地图创建自己的地图。
我想创建一个显示地图上所有现有标记的列表。当用户点击列表中的一个按钮/链接时,相应的标记将居中并且将显示其infoWindow,即与用户点击标记的效果相同。
我尝试了很多解决方案,但我没有办法解决这些问题。有人可以为我提供一个简单的解决方案吗?提前谢谢!
我现有的代码如下,
google.maps.event.addDomListener(window, 'load', function() {
var map = new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng(19.642588,151.171875),
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false
});
var infoWindow = new google.maps.InfoWindow;
var onMarkerClick1 = function() {
var marker = this;
infoWindow.setContent('content of infowindow');
infoWindow.open(map, marker);
};
var marker1 = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(19.642588,151.171875),
});
google.maps.event.addListener(marker1, 'click', onMarkerClick1);
答案 0 :(得分:1)
这不会使地图居中,但会移动以使整个气球可见
http://econym.org.uk/gmap/example_map2.htm
就像我能得到它一样简单。是的,请使用GMarker等。
请勿在标题<script src="http://maps.google.com/maps?
...
你需要包含
的html <div id="map" style="width: 550px; height: 450px"></div>
<div id="side_bar"><a href="javascript:myclick(marker)">Marker One</a><br /></div>
然后是javascript
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(19.642588, 151.171875), 8);
var point = new GLatLng(19.642588, 151.171875);
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function () {
marker.openInfoWindowHtml("this marker has been clicked");
});
function myclick(i) {
GEvent.trigger(marker, "click");
}
map.addOverlay(marker);