我试图在Google地图上绘制许多圆圈(每个屋顶有很多圆圈)。
我尝试过Circle课程,似乎对大圆圈没问题,但是在绘制小圆圈时,它们根本不是圆形的。
我正在使用的代码是这样的:
for(var i = 0; i < latitudes.length; i++)
var newCircle = new google.maps.Circle({
strokeColor: "#FFFFFF",
strokeOpacity: 0,
strokeWeight: 1,
fillColor: "#FFFFFF",
fillOpacity: 1,
map: map,
center: new google.maps.LatLng(latitudes[i], longitudes[i]),
radius: 0.5
});
newCircle.setMap(map);
结果是:
我知道还有其他方法可以在谷歌地图上绘制积分,但我真的很想使用谷歌解决方案,如果有办法让它们看起来应该是这样的。
答案 0 :(得分:11)
你可以使用符号,它们应该是完美的圆圈。试试这个:
var whiteCircle = {
path: google.maps.SymbolPath.CIRCLE,
fillOpacity: 1.0,
fillColor: "white",
strokeOpacity: 1.0,
strokeColor: "white",
strokeWeight: 1.0,
scale: 1.0
};
然后
for(var i = 0; i < latitudes.length; i++) {
var latLng = new google.maps.LatLng(latitudes[i], longitudes[i])
var newCircle = new google.maps.Marker({
icon: whiteCircle,
position: latLng
});
newCircle.setMap(map);
}
圈子很可能是巨大的,所以要尽量使用比例来使其正确。
我从未使用过Circle类。今年的Google I / O引入了符号。它们是矢量,意味着你几乎可以定义自己的形状。这是一个更多信息的链接: googlegeodevelopers.blogspot.com/2012/06/powerful-data-visualization-with.html
答案 1 :(得分:-2)
消除锯齿非常关键。
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)
Google解决方案不适用于较小的圈子。