google maps api v3 - 从外部点击打开infowindow

use*_*849 7 javascript jquery google-maps google-maps-api-3

所以我有一个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
            },
        });
Run Code Online (Sandbox Code Playgroud)

和一堆看起来像这样的标记:

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);
Run Code Online (Sandbox Code Playgroud)

最后我有一个功能,在他点击每个制造商时打开infowindow:

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, 'click', function() {
          infoWindow.close();
        }); 
Run Code Online (Sandbox Code Playgroud)

我的问题是,当点击页面内部时,我需要做些什么来制作一个特定的标记(比如marker25837500)显示它的信息 - 可能是这样的:

<div id="marker25837500">click to see infoWindow!</div>
Run Code Online (Sandbox Code Playgroud)

我相信这很容易,但我只能看到它的方式!

谢谢

Sal*_*man 11

你可以使用trigger事件.

$('#marker25837500').click(function () {
    google.maps.event.trigger(marker25837500, 'click')
})
Run Code Online (Sandbox Code Playgroud)

请查看此信息 - https://developers.google.com/maps/documentation/javascript/reference#event

编辑:还注意到您onMarkerClick()marker25837500单击时调用,但您命名了另一个函数,OpenInfoWindow()因此您可能还需要更改它.