jquery - 谷歌地图,基于 Zoom 的比例圆

我有一个显示圆圈的 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一个普通的圆圈有 fillColorstrokeOpacity

从我链接的例子:

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/

相关文章:

performance - 如何减少此 Google Apps 脚本的执行时间?

sql - 如何将日期时间字段添加到 + 1 天

sql - Oracle 在 DBA_ROLES 上的选择权限

php - 通知 : unserialize() for symfony2 ( connection

memory - 了解mmap

google-apps-script - 在电子表格的 App 脚本中选择连续范围

sql - "column ambiguously defined"

solr - 从 DocsAndPositionsEnum 检索所有术语位置

string - 一组字符串的 R 直方图和描述性统计数据

bash - 如何从 Bash 中的域获取主 MX IP