1

我正在使用GMaps在我的网站上显示地图。使用 infoWindow 创建地图非常容易。但是,信息窗口仅在单击标记时出现。

我的Javascript:

var map;
$(document).ready(function(){
   map = new GMaps({
        div: '#map',
        lat: 11.5671732,
        lng: 104.92592450000006,
        zoom: 15
   });
   map.addMarker ({
       lat: 11.5671732,
       lng: 104.92592450000006,
       infoWindow: {
          content: "<h3>D-Care Dental Clinic</h3><p class='address'>Address: No.26,St.23, <br />Sangkat Chey Chom Nas, Khan Daun Penh, Phnom Penh, Tel: 023 986836/012887601</p>"
       },
   });
});

在stackoverflowing之后,我只看到人们使用谷歌地图API进行硬编码来实现这一点。所以我想知道是否有任何选项可以在页面加载时自动显示 infoWindow 而无需单击标记?

这是我的地图页面的链接

任何帮助将不胜感激。

4

2 回答 2

3

触发对标记的点击应该可以工作:

google.maps.event.trigger(map.markers[0], 'click');

概念证明小提琴

代码片段:

var map;
$(document).ready(function() {
  map = new GMaps({
    div: '#map',
    lat: 11.5671732,
    lng: 104.92592450000006,
    zoom: 15
  });
  map.addMarker({
    lat: 11.5671732,
    lng: 104.92592450000006,
    infoWindow: {
      content: "<h3>D-Care Dental Clinic</h3><p class='address'>Address: No.26,St.23, <br />Sangkat Chey Chom Nas, Khan Daun Penh, Phnom Penh, Tel: 023 986836/012887601</p>"
    },
  });
  google.maps.event.trigger(map.markers[0], 'click');
});
html,
body,
#map {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script src="https://hpneo.github.io/gmaps/gmaps.js"></script>
<div id="map"></div>

于 2013-09-03T14:17:58.940 回答
0

infowindow.open(地图,标记);

应该做的伎俩。

它会通过一个例子更好地连接,基本上我们将简单地制作 infowindow.open(); “初始化”函数本身的一部分,并在地图加载时调用“初始化”函数。

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
    function initialize() {
        var myLatlng = new google.maps.LatLng(28.4387675, 77.5243212); //replace with lan and lat
        var mapOptions = {
            zoom: 12,
            center: myLatlng
        };
        var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
        var contentString = '<div id="content">'+
                    '<div id="siteNotice">'+
                    '</div>'+
                    '<div id="bodyContent">'+
                    '<p>Add information for info window here</p>'+
                    '</div>'+
                    '</div>';

        var infowindow = new google.maps.InfoWindow({
            content: contentString
        });
        var marker = new google.maps.Marker({
                position: myLatlng,
                map: map,
                title: 'Contact Us'
        });
        infowindow.open(map,marker);
    }
    google.maps.event.addDomListener(window, 'load', initialize);
</script>

现在将此代码放在以下部分中:

<div id="map-canvas" style="height:425px; "> </div>
于 2014-01-18T22:30:10.523 回答