点击marker后把chooseIcon的路径传到iconPath上
时间: 2023-05-26 14:07:28 浏览: 90
假设你使用的是`<map>`组件和`<marker>`组件,可以在`<marker>`上绑定一个`click`事件,在事件处理函数中将`chooseIcon`的路径赋值给`iconPath`。
示例代码:
```html
<map :scale="scale" :markers="markers" @marker-tap="handleMarkerTap"></map>
```
```javascript
data() {
return {
chooseIcon: '', // 假设 chooseIcon 是一个图片路径
markers: [],
}
},
methods: {
handleMarkerTap(marker) {
// 点击 marker 后更新 marker 的 iconPath 属性
marker.iconPath = this.chooseIcon;
},
},
```
相关问题
点击marker后把marker.chooseIcon的路径传到marker.iconPath上
对于这个问题,我们需要了解一下Marker的一些属性:
* `iconPath`:Marker的图标路径
* `chooseIcon`:Marker被选中时的图标路径
当Marker被点击时,我们可以在`callouttap`事件中获取到该Marker对象。然后,我们可以将`chooseIcon`的路径赋值给`iconPath`,就可以让Marker的图标显示为被选中时的图标了。
以下是代码示例:
```js
// 创建Marker对象,并设置chooseIcon属性
var marker = new qq.maps.Marker({
position: new qq.maps.LatLng(39.916527, 116.397128),
icon: {
path: qq.maps.SymbolPath.CIRCLE,
fillColor: '#EE0000',
fillOpacity: 0.8,
scale: 15,
strokeColor: '#000000',
strokeWeight: 2
},
chooseIcon: 'path/to/choose_icon.png'
});
// 绑定callouttap事件
qq.maps.event.addListener(marker, 'callouttap', function() {
// 切换iconPath为chooseIcon
marker.setIcon({
path: marker.chooseIcon,
fillColor: '#EE0000',
fillOpacity: 0.8,
scale: 15,
strokeColor: '#000000',
strokeWeight: 2
});
marker.iconPath = marker.chooseIcon;
});
```
在上述示例中,我们通过`setIcon`方法将Marker的图标切换为`chooseIcon`。然后,将`chooseIcon`的路径赋值给`iconPath`,这样当Marker被移开后再次点击时,图标就会显示为被选中时的图标。
点击图标后,marker的iconpath发生了变化,但是icon没变化
这可能是因为您没有正确更新marker的图标。请确保在更改marker的iconPath属性后,您已经通过setMarkers方法更新了marker对象。如果您已经这样做了,但是marker的图标仍然没有改变,那么可能是因为图标路径指向了错误的位置或格式不正确。请检查您的图标路径是否正确,并确保图标格式与使用的图标类型匹配。
阅读全文