Tom*_*Tom 5 javascript google-maps
在我看来,我应该能够执行以下操作来检测谷歌地图上一行上的点击事件:
var line = new GPolyline( ... );
map.addOverlay(line);
GEvent.addListener(line, "click", function(latlng){ alert("clicked"); });
Run Code Online (Sandbox Code Playgroud)
该API参考说这是在2.88版本中,这是在2007年(!?)发布可用,所以我假定这就是我使用的是什么,但我不知道如何来确认.
我也尝试{clickable:true}
明确设置选项(它应该是默认选项.)我已经在FireFox 3和Opera 9.6中测试过,所以怀疑它是否与浏览器有关.我也在页面上使用jQuery.
我有足够的代码检测标记上的点击工作正常,点击线条会非常好,任何人都可以开导我吗?
更新:在API的第3版中,您要使用 google.maps.event.addListener(object, event, function);
例如
google.maps.event.addListener(polyline, 'click', function() {
alert('you clicked polyline');
});
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅事件api
我刚刚做了一个快速测试,以下代码在我的测试页面上运行:
var polyline = new GPolyline([
new GLatLng(37.4419, -122.1419),
new GLatLng(37.4519, -122.1519)
], "#ff0000", 10);
map.addOverlay(polyline);
GEvent.addListener(polyline, 'click', function() {
alert('you clicked polyline');
});
Run Code Online (Sandbox Code Playgroud)
判断您拥有的谷歌地图版本的方法是查看您拥有的谷歌地图 src url 的 v= 参数
http://maps.google.com/maps?file=api&v=2&key=MY_API_KEY
在本例中,我有“v=2”,这意味着我正在使用最新的稳定 2 版本,它支持可单击的折线(截至今天 2.101 是最新版本)。“v=2.x”表示您正在使用边缘版本。任何“v=2.5”,其中句点 (.) 后面的任何内容都是数字,表示特定版本