10

我试图在谷歌地图上画很多圈(每个屋顶很多圈)。

我尝试了 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);

结果是:带有白色圆圈的谷歌地图

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

4

2 回答 2

12

你可以使用符号,它们应该是完美的圆圈。尝试这个:

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

于 2012-12-29T00:20:59.293 回答
-2

抗锯齿至关重要。

g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)

Google 解决方案不适用于较小的圈子。

于 2012-12-28T01:59:34.210 回答