如何解决更改事件上的多边形选项谷歌地图
正在尝试更改mouSEOver
上多边形的笔触颜色。问题是,我不知道/无法找到有关如何从事件访问setoptions
方法的适当文档。
<GmapMap ref="google_map" :center="{ lat: 0,lng: -0 }">
<gmap-polygon
v-for="(polygon,i) in polygons"
:key="`polygon-${i}`"
ref="google_map_polygon"
:paths="polygon.vertices"
:options="polygonoptions"
@mouSEOver="polygonHover"
/>
</GmapMap>
Js
export default {
data: () => ({
polygons: [],polygonoptions: {
strokeColor: 'transparent',}
}),...
methods: {
polygonHover (event) {
// Change strokeColor here.
}
}
}
解决方法
您可以按照以下步骤进行操作:
- 声明您的路径和初始多边形选项:
polygon: {
paths: [{
lat: 1.380,lng: 103.800
},{
lat: 1.380,lng: 103.810
},{
lat: 1.390,lng: 103.800
}],polygonOptions: {
strokeColor: 'transparent',}
- 将这些值映射到
<gmap-polygon
内的参数中。然后,您可以在mouseover
和mouseout
事件上放置方法。
<gmap-polygon :paths="polygon.paths" :editable="true" :options="polygon.polygonOptions" @mouseover="changePolygonMouseOver($event)" @mouseout="changePolygonMouseOut()" ref="google_map_polygon">
</gmap-polygon>
- 使用
this.$refs.google_map_polygon.$polygonObject
调用多边形对象,然后使用setOptions()
在鼠标悬停和鼠标移出事件期间设置多边形选项。在 mouseOut 上,您可以使用多边形选项的初始值this.polygon.polygonOptions
:
methods: {
changePolygonMouseOver: function() {
this.$refs.google_map_polygon.$polygonObject.setOptions({
strokeColor: 'red',})
},changePolygonMouseOut: function() {
console.log("mouseOut")
this.$refs.google_map_polygon.$polygonObject.setOptions(this.polygon.polygonOptions)
}
}
这是 working code。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。