作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面是代码..我想在 Maps API V3 中使用多边形函数绘制一个圆,而不是在 Google map 中使用圆函数,因为我必须像这里一样在圆的圆周上重新创建一些形状
http://textonly.in/docs/map7.html
有没有办法求出圆周上的点数?
var mapOptions = {
zoom: 13,
center: new google.maps.LatLng(45.512158914823035,-74.12200927734375),
mapTypeId: google.maps.MapTypeId.TERRAIN
};
var bermudaTriangle;
var bermudaTriangle1;
var rectangle;
var citymap = {};
citymap['chicago'] = {
center: new google.maps.LatLng(45.637839, -73.648316),
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
for (var city in citymap) {
var populationOptions = {
strokeColor: '#FF0000',
strokeOpacity: 0.0,
strokeWeight: 0,
fillColor: '#FF0000',
fillOpacity: 0.35,
map: map,
center: citymap[city].center,
radius: 39 * 1000
};
// Add the circle for this city to the map.
cityCircle = new google.maps.Circle(populationOptions);
}
最佳答案
基本上不可能得到“点”,因为圆不是基于点创建的(会有无限多的点)
可能的解决方法(使用几何库)获取“一些点”以创建看起来像圆形的多边形:
使用方法google.maps.geometry.spherical.computeOffset
在标题递增的循环中:
function circlePath(center, radius, points){
var a=[],p=360/points,d=0;
for(var i=0;i<points;++i,d+=p){
a.push(google.maps.geometry.spherical.computeOffset(center,radius,d));
}
return a;
}
points 参数是所需的返回点数。
该函数返回一个适合用作多边形路径的数组。
关于google-maps - 如何在谷歌地图中使用多边形绘制圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24733481/
leaflet:一个开源并且对移动端友好的交互式地图 JavaScript 库 中文文档: https://leafletjs.cn/reference.html 官网(英文): ht
我是一名优秀的程序员,十分优秀!