3

使用 Polymer Web 组件时,我正在寻找谷歌地图标记的点击事件。我看过这个SO question ,但我的代码略有不同,可能会搞砸。我在我的标记中使用了一个模板 is="dom-repeat",以便我可以使用 places API 进行搜索。这是我的代码<map-element></map-element>。问题是我怎样才能markerClicked开火?on-google-map-marker-click似乎没有工作:

<dom-module id="map-element">
<style>
   google-map {
   height: 200px;
   width: 100%;

   }
</style>
<template>
<iron-icon icon="icons:search"></iron-icon>
<input is="iron-input" bind-value="{{bindValue}}" value="   {{value::input}}">
<google-map-search map="[[map]]" query="[[bindValue]]" results="{{results}}"></google-map-search>
<google-map map="{{map}}" latitude="37.77493" disableZoom="true" longitude="-122.41942" fit-to-markers>
<template is="dom-repeat" items="{{results}}" as="marker">
   <google-map-marker latitude="{{marker.latitude}}" longitude="{{marker.longitude}}" clickEvents="true" on-google-map-marker-click="{{markerClicked}}">
     <h2>{{marker.name}}</h2>
      <span>{{marker.formatted_address}}</span>
   </google-map-marker>
</template>
</google-map>
</template>
<script>
  Polymer({
  is: "map-element",

  markerClicked: function(e, detail, sender) {

      console.log('google_map_marker_click');


    }
});
</script>

</dom-module>
4

1 回答 1

8

更改clickEventsclick-events。带有 camelCase 的属性转换为带有破折号 ( docs ) 的属性。

此外,从事件侦听器中删除大括号。该语法在 0.5 中使用,但在 1.0 ( docs )中不再使用。

<google-map-marker click-events="true" on-google-map-marker-click="markerClicked">
于 2015-10-18T06:45:30.877 回答