Google地图圈子不是圆形的

时间:2012-12-28 01:41:54

标签: javascript html5 google-maps google-maps-api-3

我试图在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);

结果是:google map with white circles

我知道还有其他方法可以在谷歌地图上绘制积分,但我真的很想使用谷歌解决方案,如果有办法让它们看起来应该是这样的。

2 个答案:

答案 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解决方案不适用于较小的圈子。