-1
我有一個谷歌地圖,可以繪製圓形,矩形和多邊形,然後將它們的座標保存在名稱數據庫中。現在我希望每次地圖都會加載所有保存的區域以進行顯示。我已經用圓和矩形(固定數量的座標)管理了這個,但我堅持要如何顯示多邊形。我從這個谷歌三角示例中獲得顯示的標準方法:Polygon Arrays。不同尺寸的在Google地圖上顯示多個多邊形
var triangleCoords = [
{lat: 25.774, lng: -80.190},
{lat: 18.466, lng: -66.118},
{lat: 32.321, lng: -64.757}
];
我已保存的多邊形,所以顯示運行的循環,我需要投入triangleCoords不同數量拉特和LNGS的每一次:直到我達到這個部分 一切都很好。我試了一下使用triangleCoords作爲一個表,但它去可怕的錯誤:
var j=1;
var k;
for (k = 0; k < (coo.length)/2 ; k++){
var triangleCoords[k] = [
{lat: coo[j], lng: coo[j+1]}
];
j+=2;
}
這可能是很簡單的東西,但我不長成編程,現在我越來越深!你能幫忙嗎?任何暗示我應該在哪裏看?一些示例代碼?提前致謝!
這是一些更多的代碼,這有幫助嗎?
<?php
$result2 = mysql_query("SELECT * FROM allplaces WHERE user_id = '$userid' ");
$coordinates = array();
while ($row = mysql_fetch_array($result2)) {
$coordinates[] = $row['coordinates'];
}
?>
var coordinates = new Array();
<?php
for ($i=0;$i<count($coordinates); $i++)
{
echo "coordinates[$i]='".$coordinates[$i]."';\n";
}
?>
var i;
for (i = 0; i < coordinates.length; i++) {
var str = coordinates[i];
var coo = str.split(";"); //first cell of coo is empty
if (type[i] == 1){ //polygon
// Define the LatLng coordinates for the polygon's path.
--> [code here that fills the triangleCoords each time, where triangleCoords must have the form that is given in the first Code Sample]
// Construct the polygon.
var bermudaTriangle = new google.maps.Polygon({
paths: triangleCoords,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
bermudaTriangle.setMap(map);
}
}
請提供一個演示此問題的[mcve],其中包括一個數據樣本。 – geocodezip
我增加了一些代碼,這有幫助嗎? – lena
沒有你的數據庫,PHP並不是特別有用。 [mcve]會更好(提供給瀏覽器的HTML可能會給你一個起點)。 – geocodezip