2012-12-28 139 views
6

我想在谷歌地圖上畫很多圈(每個屋頂上有很多圈)。谷歌地圖圈不是圓的

我試過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

我知道還有其他方法在谷歌地圖上畫點,但我如果有辦法讓他們看起來應該是圓的,那麼他們真的很喜歡Google解決方案。

回答

9

你可以使用符號,它們應該是完美的圓圈。試試這個:

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

+0

謝謝,它的工作。但是,他們不是非常有效的性能方面(google.maps.Circle in't雖然) – Nicolas

+0

我不知道性能方面。我只是最近才切換到矢量而不是圖像。編輯它們比切換標記要容易得多。我沒有畫出很多圖像,但是從我對Gmaps的體驗中,太多的標記會減慢它的速度(除了在Flash地圖的日子裏回來) –

+0

我終於和定製者一起去了,使用不同的png作爲圓形顏色,使用大小屬性縮放 – Nicolas

-2

消除鋸齒至關重要。

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

的谷歌的解決方案不會爲小圓圈工作。

+8

對不起,但是'g2d'是什麼? – Nicolas

+2

@Nicolas似乎是[java](http://docs.oracle.com/javase/7/docs/api/java/awt/RenderingHints.html) –