Это ГИС вопрос. Google Maps API не очень полномасштабный GIS. Если вы хотите, .. с открытым исходным кодом, я предлагаю загрузить ваши желтые и зеленые многоугольники в базу данных PostGIS Затем вы можете запросить базу данных
в качестве примера, вы можете кодировать нарисованный многоугольник как объект пОЛИГОНА, который имеет формат:
POLYGON((lon lat, lon lat, lon lat, lon lat, ... lon lat))
А затем отправить его в PHP файл с JavaScript, как (вы обернуть это в $.get()
команды или аналогичной и возвращающий результаты: JSON
getParcels.php?bounds=POLYGON((lon lat, lon lat, lon lat, lon lat, ... lon lat))
В файле PHP, запрос к базе данных PostGIS и возвращают идентификаторы желтый и зеленый многоугольники:
<?php
$pgcon = pg_connect ("dbname=gis user=gisuser connect_timeout=5") or die ('Can not connect to PG server');
if (!$pgcon) {
echo "No connection to GIS database.\n";
}
$bounds = urldecode($_GET["bounds"];
$ewkt = 'SRID=4326;' . $bounds);
$json = ''; // this will contain your output
// Here I am returning the polygon geometry and the parcelID...
$query .= <<<EOD
SELECT
ST_AsGeoJSON(the_geom) as geom,
parid
FROM
parcels
WHERE
ST_Intersects(the_geom, ST_GeomFromEWKT($1));
EOD;
$result = pg_query_params($pgcon, $query, array($ewkt));
if($result) {
$json = '{"type":"FeatureCollection", "features":[';
while($row = pg_fetch_assoc($result)) {
$json .= '{"geometry":' . $row['geom'] . ',';
$json .= '"type":"Feature","properties":{"parid":"' . $row['parid'] . '"}},';
}
$json = substr($json, 0,-1).']}';
}
echo $json;
?>
Это будет возвращать посылки, которые пересекают ваш полигон, используя ST_Intersects
команду в PostGIS.