gpt4 book ai didi

javascript - Google Maps API v3 隐藏和显示绑定(bind)到标记的圆圈

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:01 25 4
gpt4 key购买 nike

我已经使用 google map api v3 成功地将一个圆圈绑定(bind)到我的标记上。我知道这一点,因为如果我使标记可拖动,圆圈也会移动。

如果单击标记,我如何引用圆圈。如果不可见,我需要显示圆圈,反之亦然。

这是创建标记和圆圈的代码

var markerOptions = {
title: title,
icon: markerImage,
shadow: markerShadow,
position: latlng,
map: map
}
var marker = new google.maps.Marker(markerOptions);
// Add a Circle overlay to the map.
var circle = new google.maps.Circle({
map: map,
radius: 50*1609.34,// 50 MI
visible: false
});
//circle.bindTo('map', marker);
circle.bindTo('center', marker, 'position');

我在 stackoverflow 上找到了一个答案,这使我认为我需要进行 rem'd out map binding 以及 center binding,但这没有用。

这是我的标记点击事件。

google.maps.event.addListener(marker, "click", function() {
var infowindowOptions = {
content: html
}
var infowindow = new google.maps.InfoWindow(infowindowOptions);
cm_setInfowindow(infowindow);
infowindow.open(map, marker);
marker.setIcon(markerImageOut);
marker.circle({visible: true});

任何想法。我需要与刚刚单击或鼠标悬停的标记的边界圆进行交互。

最佳答案

一个选项是使圆圈成为标记的属性(如 ._myCircle),在点击处理程序中将其引用为 marker._myCircle。

将圆添加为标记的 _myCircle 属性:

var circle = new google.maps.Circle({
map: map,
radius: 50*1609.34,// 50 MI
visible: false
});
circle.bindTo('center', marker, 'position');
marker._myCircle = circle;

要切换它,请使用类似(未测试)的东西:

if(marker._myCircle.getMap() != null) marker._myCircle.setMap(null);
else marker._myCircle.setMap(map);

关于javascript - Google Maps API v3 隐藏和显示绑定(bind)到标记的圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13773688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com