从Page Element向Google Map添加addDomListener事件

时间:2013-12-12 20:17:14

标签: google-maps google-maps-api-3

有人可以告诉我如何从Map元素外部向Google Map添加addDomListener事件吗? 例如,我有一个List作为

<ul>
   <li class="pointA">Ponit A</li>
   <li class="pointB">Ponit B</li>
   <li class="pointC">Ponit C</li>
</ul>

我尝试添加3个新的latlang点:

var latlngPointA = new google.maps.LatLng(11.818965,123.727169);
var latlngPointB = new google.maps.LatLng(11.768488,123.444444);
var latlngPointC = new google.maps.LatLng(11.890000,123.123456);

最后这样做了:

google.maps.event.addDomListener('.pointA', 'click', function() {
map.setCenter(latlngPointA);});
google.maps.event.addDomListener('.pointB', 'click', function() {
map.setCenter(latlngPointB);});
google.maps.event.addDomListener('.pointC', 'click', function() {
map.setCenter(latlngPointC);});

但这并不是将地图置于需求点的中心。能告诉我为什么这不起作用吗?

更新 我也试过这个:

 var controlUI1 = $('.pointA');
     google.maps.event.addDomListener(controlUI1, 'click', function() {
     map.setCenter(latlngPointA);
 });

仍然无法正常工作!

1 个答案:

答案 0 :(得分:2)

addDomListener需要DOM element,而不是包含CSS类名称的字符串。

<ul>
   <li id="pointA">Ponit A</li>
   <li id="pointB">Ponit B</li>
   <li id="pointC">Ponit C</li>
</ul>

google.maps.event.addDomListener(document.getElementById('pointA'), 'click', function() {
  map.setCenter(latlngPointA);});
google.maps.event.addDomListener(document.getElementById('pointB'), 'click', function() {
  map.setCenter(latlngPointB);});
google.maps.event.addDomListener(document.getElementById('pointC'), 'click', function() {
  map.setCenter(latlngPointC);});