10

グーグルマップ上にたくさんの円を描いてみようとしています(屋上ごとにたくさんの円)。

サークルクラスを試してみたところ、大きな円でも大丈夫そうですが、小さな円を描くと丸くなりません。

私が使用しているコードは次のようになります。

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 に答える