所以我有一个V3地图,它初始化如下:
function init() { var mapCenter = new google.maps.LatLng(51.5081289,-0.128005); var map = new google.maps.Map(document.getElementById('map'),{ 'zoom': 6,'center': mapCenter,'mapTypeId': google.maps.MapTypeId.ROADMAP,panControl: false,mapTypeControl: false,zoomControl: true,zoomControlOptions: { style: google.maps.ZoomControlStyle.SMALL,position: google.maps.ControlPosition.LEFT_TOP },});
和一堆看起来像这样的标记:
var marker25837500 = new google.maps.Marker({ map: map,pop_title: 'blah blah',pop_wind: 'more blah',zIndex: 999,icon: 'images/map_icons/s6.png' }); google.maps.event.addListener(marker25837500,'click',onMarkerClick);
最后我有一个功能,打开每个制造商的点击信息:
var infoWindow = new google.maps.InfoWindow; var onMarkerClick = OpenInfoWindow; function OpenInfoWindow() { var marker = this; infoWindow.setContent('<h3>' + marker.pop_title + '</h3>' + marker.pop_body); infoWindow.open(map,marker); }; google.maps.event.addListener(map,function() { infoWindow.close(); });
我的问题是,当点击页面内部时,我需要做些什么来制作一个特定的标记(比如marker25837500)显示它的信息 – 可能是这样的:
<div id="marker25837500">click to see infoWindow!</div>
我相信这很容易,但我只能看到它的方式!
谢谢
解决方法
您可以使用触发事件.
$('#marker25837500').click(function () { google.maps.event.trigger(marker25837500,'click') })
检查这个 – https://developers.google.com/maps/documentation/javascript/reference#event
编辑:还注意到,当单击marker25837500时,您正在调用onMarkerClick(),但是您将另一个函数命名为OpenInfoWindow(),因此您可能还需要更改它.