我正在使用
问题在于有时我想要更改这些圆圈,但地图并没有改变它们,而是将它们叠加在一起呈现。
每次更改标签(状态)的值时,都会调用此函数。与函数展示的内容不同的是,它们会在彼此之上渲染,并且您可以通过填充颜色来判断情况,应该具有不透明度,但它变得越来越暗。
我尝试按照这里的说明进行删除https://developers.google.com/maps/documentation/javascript/shapes#maps_circle_simple-typescript,但没有成功。
在这个尝试中,我创建了一个列表而不是一次推送一个圆形,并且通过名称为
<GoogleMapReact>
项目,在地图上渲染的内容之一是称为 geoFences
的圆圈。问题在于有时我想要更改这些圆圈,但地图并没有改变它们,而是将它们叠加在一起呈现。
function renderGeoFences(map, maps) {
const geoFencesSites = settings.geoFenceSites.filter((site) => !site.deleted);
_.map(geoFencesSites, (site) => {
let circle = new maps.Circle({
strokeColor: tag.id!=='all-jobs' ? "orange":'#1aba8b26',
strokeOpacity: 1,
strokeWeight: 4,
fillColor: '#1aba8b1f',
fillOpacity: 1,
map,
center: { lat: Number(site.location.latitude), lng: Number(site.location.longitude) },
radius: site.fenceSize,
});
});
}
每次更改标签(状态)的值时,都会调用此函数。与函数展示的内容不同的是,它们会在彼此之上渲染,并且您可以通过填充颜色来判断情况,应该具有不透明度,但它变得越来越暗。
我尝试按照这里的说明进行删除https://developers.google.com/maps/documentation/javascript/shapes#maps_circle_simple-typescript,但没有成功。
在这个尝试中,我创建了一个列表而不是一次推送一个圆形,并且通过名称为
showJobsLocations
的状态结束。似乎在第一次运行时,当状态为true
时,圆形不会呈现,这很好,但在第二次运行时,它们会呈现,并且然后不断变得越来越暗,这意味着如果我不想要它们,则它们将不会呈现,但一旦它们被呈现,则无法删除。 function renderGeoFences(map, maps) {
const geoFencesSites = punchClockStore.settings.geoFenceSites.filter((site) => !site.deleted);
const circles = []
_.map(geoFencesSites, (site) => {
circles.push(new maps.Circle({
strokeColor: '#1aba8b26',
strokeOpacity: 1,
strokeWeight: 4,
fillColor: '#1aba8b1f',
fillOpacity: 1,
map,
center: {lat: Number(site.location.latitude), lng: Number(site.location.longitude)},
radius: site.fenceSize,
}));
if (showJobsLocations){
// circle.setMap(null)
if (circles.length) circles.map((circle) => circle.setMap(null));
}
});
}
有人知道如何从<GoogleMapReact>
中删除Circles
吗?
<Animated>
组件插入到<GoogleMapReact>
对象中,通过滚动级别改变其大小? - EleKadele