2016-11-10 19 views
0

我節省標記選擇多邊形標記座標在MySQL像下面的圖像如何從MySQL

enter image description here

我需要的是當用戶在地圖上繪製如下圖所示的圖像

enter image description here

我可以得到形狀並從mysql中選擇形狀中的標記並創建一個查詢。例如:
例如:
$ query = mysql_query(「SELECT location FROM table WHERE Coordinate in the polygon」);


我相信我需要使用ajax。我使用谷歌地圖v3
這甚至有可能做到這一點?
請幫助,任何想法,我可以somthing像那樣的其他方式?

+0

如何在db中存儲多邊形形狀..使用幾何圖形POLYGON數據類型?或以其他方式存儲座標?你對'地點'意味着什麼? – scaisEdge

+0

@scaisEdge我把我的座標保存在mysql db的'location' col中,我需要通過在地圖上繪製多邊形來找到這個位置 –

+0

行..但是如果你保存位置座標的數據類型/格式..? ..你知道並希望使用MySQL幾何擴展或不? – scaisEdge

回答

1

谷歌地圖不提供GIS功能來選擇多邊形內的座標。你可以使用MySQL的空間擴展(數據類型GEOMETRY)..爲此,你可以進入.. http://dev.mysql.com/doc/refman/5.7/en/spatial-extensions.html mysql文檔。

在谷歌地圖中選擇位置(點)的簡單方法是使用多邊形點的座標的極值來獲得包含多邊形頂點的矩形的座標的等值,然後執行選擇

select location 
    from my_table 
    where location_lat >= minLat_polygon 
    AND location_lat <= maxLat_poligon 
    AND location_lng <= maxLng_polygon 
    AND location_lng >= minLng_polygon 
+0

也請記住,簡單的方法將無法正常工作凹形多邊形 – Ergec

+0

@Ergec如果您使用最小e和最大拉特和最小和最大的lng應該工作(獲取MBR頂點) – scaisEdge