Javascript 在Polymer中,向google地图元素添加eventListener的正确位置在哪里?
我定义了以下元素:Javascript 在Polymer中,向google地图元素添加eventListener的正确位置在哪里?,javascript,google-maps,polymer,google-web-component,Javascript,Google Maps,Polymer,Google Web Component,我定义了以下元素: <dom-module id="my-element"> <style> :host { display: block; } google-map { height: 600px; } </style> <template> <geo-location highAccuracy watchpos latitude="{{lat}}" longi
<dom-module id="my-element">
<style>
:host {
display: block;
}
google-map {
height: 600px;
}
</style>
<template>
<geo-location highAccuracy watchpos latitude="{{lat}}" longitude="{{lng}}"></geo-location>
<google-map id="myMap" latitude="{{lat}}" longitude="{{lng}}" dragEvents="true" zoom="16"></google-map>
<br>
<small>Latitude: <b>{{lat}}</b></small><br>
<small>Longitude: <b>{{lng}}</b></small><br>
</template>
<script>
(function() {
Polymer({
is: 'my-element',
ready: function() {
this.$.myMap.addEventListener('google-map-dragend', function(e) {
alert('Map has moved.');
});
}
});
})();
</script>
</dom-module>
:主持人{
显示:块;
}
谷歌地图{
高度:600px;
}
纬度:{{lat}}
经度:{{lng}}
(功能(){
聚合物({
是‘我的元素’,
就绪:函数(){
这个$.myMap.addEventListener('google-map-dragend',函数(e){
警报(“地图已移动”);
});
}
});
})();
但是,事件侦听器根本不工作。我试着在不同的地方给它打电话,但没有成功。我想让事件侦听器在用户每次拖动映射时调用一个函数
我用的是聚合物1.0。以下是。证明事件侦听器位于正确的位置,因为只有当页面上的所有组件都已完成加载时,
ready
属性才会触发
我犯的错误实际上是一个惯例问题,因为聚合文档中的属性通过使用“-”分隔单词而转换为代码。我记得在文档的某个地方读到,属性应该在HTML中用破折号分隔:
dragEvents=“true”
应该是drag events=“true”
现在它工作得很好