Javascript 谷歌地图上显示多个多边形
我有一个谷歌地图,在那里我可以画圆、矩形和多边形,然后用名字将它们的坐标保存在数据库中。现在我希望每次加载地图时都显示所有保存的区域。我已经用圆和矩形(固定数量的坐标)处理了这个问题,但我仍然停留在如何显示多边形上。我从这个GoogleTriangle示例中获得了显示的标准方法:。 在我到达这一部分之前,一切都很好:Javascript 谷歌地图上显示多个多边形,javascript,google-maps,maps,coordinates,polygon,Javascript,Google Maps,Maps,Coordinates,Polygon,我有一个谷歌地图,在那里我可以画圆、矩形和多边形,然后用名字将它们的坐标保存在数据库中。现在我希望每次加载地图时都显示所有保存的区域。我已经用圆和矩形(固定数量的坐标)处理了这个问题,但我仍然停留在如何显示多边形上。我从这个GoogleTriangle示例中获得了显示的标准方法:。 在我到达这一部分之前,一切都很好: var triangleCoords = [ {lat: 25.774, lng: -80.190}, {lat: 18.466, lng: -66
var triangleCoords = [
{lat: 25.774, lng: -80.190},
{lat: 18.466, lng: -66.118},
{lat: 32.321, lng: -64.757}
];
我保存了不同大小的多边形,因此每次显示循环运行时,我都需要将不同数量的LAT和LNG放入三角形坐标系中。我试着用三角书架作为桌子,但出了严重的问题:
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;
}
var j=1;
var-k;
对于(k=0;k<(合作长度)/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);
}
}
我成功了!我需要的是将多边形的每个新点推入数组。这很简单,但我不介意使用“推”。代码如下
var bermudaTriangle = [];
var j;
var k=1;
for (j=0; j < (coo.length)/2 ; j++){
bermudaTriangle.push(new google.maps.LatLng(coo[k],coo[k+1]));
k+=2;
}
var百慕大群岛角度=[];
var j;
var k=1;
对于(j=0;j<(coo.length)/2;j++){
push(新的google.maps.LatLng(coo[k],coo[k+1]);
k+=2;
}
请提供一个演示该问题的示例,包括一个数据示例。我添加了一些代码,这有帮助吗?如果没有数据库,PHP不会特别有用。A会更好(提供给浏览器的HTML可能会给你一个起点)。我不明白你问什么,我想我的问题很清楚,我提供的数据。如何在每个循环中使用不同数量的LAT和LNG填充triangleCoords表?如果有人能解释我的工作方式或搜索方向,我可以不用代码。我可能没有用正确的方式搜索,即使是一个正确的搜索词也会有帮助!您试图填充triangalwords
变量的坐标看起来像什么?我可以猜,但如果我错了,那会浪费我的时间。您有一个想要结果的示例,但没有输入数据的样子。你看过我提供的吗?