Google maps 如何打开/关闭谷歌地图标记信息窗口?
我正在使用由我创建的聚合物元素中的网络组件。我想在我的组件中点击它来做一些后续工作,所以我在我的模板上尝试了以下方法:Google maps 如何打开/关闭谷歌地图标记信息窗口?,google-maps,google-maps-markers,polymer,Google Maps,Google Maps Markers,Polymer,我正在使用由我创建的聚合物元素中的网络组件。我想在我的组件中点击它来做一些后续工作,所以我在我的模板上尝试了以下方法: <div horizontal layout flex style="height: 400px;"> <div class="panel-contents" vertical layout flex> <google-map flex map="{{map1}}" latitude="45.5601451" longitude="-
<div horizontal layout flex style="height: 400px;">
<div class="panel-contents" vertical layout flex>
<google-map flex map="{{map1}}" latitude="45.5601451" longitude="-73.7120832">
<google-map-marker latitude="45.5601451" longitude="-73.7120832" map="{{map1}}" clickEvents="true" google-map-marker-click="{{markerClicked}}" ></google-map-marker>
</google-map>
</div>
</div>
有没有办法做到这一点?提前谢谢
顺便说一句,我最初想做的是关闭所有其他标记信息窗口(如果它们可见),然后显示一个刚刚单击的标记。如果有人想到了更好的解决方法,那就太棒了。调用函数时缺少一个“on-”,正确的方法是:
on-google-map-marker-click="{{markerClicked}}"
这称为声明性事件映射:
以下是如何使用Maps API打开或关闭标记信息窗口:
markerClicked: function(e, detail, sender) {
console.log('google_map_marker_click');
/////////////////////////////////////
//Seting marker infowindow to be open by default using it's API
//
//Select the map and the marker:
// var map_marker_1 = this.$.map_marker_1;
// var google_map = this.$.map_1;
//Open the info:
// google_map_marker.info.open(google_map.map, google_map_marker.marker);
/////////////////////////////////////
/////////////////////////////////////
//Closing marker infowindow
//
//console.log(sender.tagName);
//console.log(sender.info);//marker's info object
//console.log(sender.info.content);
//or select the marker by id:
//var map_marker_1 = this.$.map_marker_1;
//this is closing marker infowindow
sender.info.close();
//or
// map_marker_1.info.close();
/////////////////////////////////////
},
以下是Goce Ribeski在1.0中的答案更新示例:
现在应该是clickEvents
李>clickEvents
- 花括号是
markerClicked: function(e, detail, sender) {
console.log('google_map_marker_click');
/////////////////////////////////////
//Seting marker infowindow to be open by default using it's API
//
//Select the map and the marker:
// var map_marker_1 = this.$.map_marker_1;
// var google_map = this.$.map_1;
//Open the info:
// google_map_marker.info.open(google_map.map, google_map_marker.marker);
/////////////////////////////////////
/////////////////////////////////////
//Closing marker infowindow
//
//console.log(sender.tagName);
//console.log(sender.info);//marker's info object
//console.log(sender.info.content);
//or select the marker by id:
//var map_marker_1 = this.$.map_marker_1;
//this is closing marker infowindow
sender.info.close();
//or
// map_marker_1.info.close();
/////////////////////////////////////
},