来自JS库的谷歌地图事件
Google Map Events from JS Library
我一直在谷歌地图上关注YouTube教程,遇到了一个我无法解决的问题。这可能是一个容易解决的问题,但我是同时使用 HTML 和 JavaScript 的新手,无法将手指放在上面。
YouTube 教程 - 使用谷歌地图 API 08 标记事件的自定义交互式地图
如何使用以下 JS 库中的 _on 函数(而不是标记事件)调用映射事件。
_on: function(opts) {
var self = this;
google.maps.event.addListener(opts.obj, opts.event, function(e) {
opts.callback.call(self, e);
});
},
addMarker: function(opts) {
var marker;
opts.position = {
lat: opts.lat,
lng: opts.lng
}
marker = this._createMarker(opts);
if (opts.event) {
this._on({
obj: marker,
event: opts.event.name,
callback: opts.event.callback
});
}
},
_createMarker: function(opts) {
opts.map = this.gMap;
return new google.maps.Marker(opts);
}
在教程 07 之后,我能够调用 map 事件,因为_on函数如下所示:
_on: function(event, callback) {
var self = this;
google.maps.event.addListener(this.gMap, event, function(e) {
callback.call(self, e);
});
}
在教程 7 之后,我能够使用以下代码从我的 Script.js 文件中调用 map 事件函数:
map._on('rightclick', function() {
alert('Right Click');
});
但是,现在我的_on函数已在教程 8 中修改,我似乎无法弄清楚如何调用 map 事件函数,因为输入变量已更改为 opts。
我尝试了以下方法,但它无法正常工作:
map._on({
obj: map,
event: 'dragend',
callback: function() {
alert('I was dragged');
}
});
有人可以让我知道我做错了什么吗???
我找到了解决方案:
map._on({
obj: map.gMap,
event: 'dragend',
callback: function() {
alert('I was dragged');
}
});
错误在于我的对象需要声明为"map.gMap",而不是仅使用"map"。
相关文章:
- 在谷歌地图上获取事件的x,y坐标
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 当谷歌地图进入街景时,我能抓住什么事件
- 加载自定义磁贴后的谷歌地图事件
- 如何从谷歌地图事件访问光标位置(即页面的x和y轴)
- 谷歌地图事件-获取点击元素的父级
- 访问谷歌地图事件中的Backbone.View功能
- 谷歌地图事件侦听器 jQuery
- 来自JS库的谷歌地图事件
- 当任何谷歌地图事件被触发时,如何触发操作
- 在链接点击时触发谷歌地图事件侦听器
- 谷歌地图事件
- 如何跟踪谷歌地图事件
- 为什么我的谷歌地图事件监听器不能正常工作
- 发送额外的参数在谷歌地图事件功能
- 谷歌地图事件对象的元素列表后缺少]
- 谷歌地图事件时间戳
- 如何执行谷歌地图事件"bounds_changed"只有一次
- 谷歌地图-事件监听器创建的标记商店定位器
- 如何在茉莉测试框架中处理谷歌地图事件