我有一个显示圆圈的 Google map ,使用使用数据集索引(1、2、3、4..)按比例缩小的半径:
var radiusTest = 1 - (mapDataTrending[i].index) * .1;
var populationOptions = {
strokeColor: "#fdb913",
strokeOpacity: 0.35,
strokeWeight: 1,
fillColor: "#fdb913",
fillOpacity: 0.35,
map: map,
center: new google.maps.LatLng(mapDataTrending[i].lat, mapDataTrending[i].lng),
radius: radiusTest * 800
};
cityCircle = new google.maps.Circle(populationOptions);
我希望圆圈不会随着用户放大而变大。圆圈会随着用户缩放而缩放,如果用户放大到 20 之类的整数,我希望它们不会变大。
这是我制作 map 的方式:
var mapOptions = {
center: new google.maps.LatLng(30.26826, -97.743044),
zoom: 14,
panControl: false,
zoomControl: false,
scaleControl: false,
disableDefaultUI: true,
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'map_style']
}
};
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
有没有办法根据 map 缩放来控制圆半径?
最佳答案
如果您想要一个在不同缩放级别下保持相同大小的圆,最好使用 symbols。 .
如图所示example ,默认情况下,它们会使用缩放级别来缩放大小。您还可以选择设置 properties一个普通的圆圈有 fillColor
和 strokeOpacity
。
从我链接的例子:
var marker = new google.maps.Marker({
position: map.getCenter(),
icon: {
path: google.maps.SymbolPath.CIRCLE,
scale: 10
},
draggable: true,
map: map
});
https://stackoverflow.com/questions/15093484/