У меня есть карта google, где я могу рисовать круги, прямоугольники и полигоны, а затем сохранять их координаты в базе данных с именем. Теперь я хочу, чтобы каждый раз, когда карта загружалась, все сохраненные области отображались. Я справился с кругами и прямоугольниками (фиксированное число координат), но я застрял в том, как я покажу многоугольник. Я получаю стандартный метод отображения из этого примера треугольника Google: 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