1

我在谷歌地图上有多个标记,当我点击它们时,我需要打开一个模式窗口。问题是每个标记都有一个特定的 id,我在每个模态中都需要那个 id。

模态html是:

<div class="modal fade" id="imageModal">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title">Modal title</h4>
      </div>
      <div class="modal-body">
      </div>
    </div>
    <div class="modal-footer">
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    </div>
  </div>
</div>

调用此函数的 javascript 代码是:

function createMarker(pos, t, map) {
    var marker = new google.maps.Marker({
        position: pos,
        map: map,  // google.maps.Map
        index: t
    });
    google.maps.event.addListener(marker, 'click', function() {
      $('#imageModal').modal();
      //alert("I am marker " + marker.index);
    });
    return marker;
 }

所以在 imageModal 我需要访问动态的 marker.index 信息。我怎样才能做到这一点?有任何想法吗 ?

4

1 回答 1

0

首先,我不认为index是 Google Maps v3 中的MarkerOption

我是如何得到这个的,我使用了titleMarkerOption 中的选项并将其设置为动态字符串,然后在addListener事件中访问它。

以下是您的操作方法:

function createMarker(pos, t, map) {
    var marker = new google.maps.Marker({
        position: pos,
        map: map,  // google.maps.Map
        title: t   //where t must be a string
    });
    google.maps.event.addListener(marker, 'click', function() {
      $('#imageModal').modal();
      alert("I am marker " + this.getTitle() );  
    });
 }

希望这对你有帮助!!

于 2014-01-04T06:26:21.540 回答