有人可以告诉我如何从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);
});
仍然无法正常工作!
答案 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);});