2016-09-21 18 views
2

晚安內,檢查的地址是一個區域地圖

我目前正在設計和編寫我的企業網站,我有一些編程技巧,我喜歡學習痘痘痘痘來。

我一直在尋找和調查,但不清楚。

我需要的是一個用戶(客戶)可以把他/她的地址,並驗證它是否在我們的交付區域內。

目前我已經設計了谷歌地圖這層:

https://www.google.com/maps/d/u/0/viewer?mid=1E3bcIm6Dy4icmTA4S-hEqOZeHpU

什麼是技術,我用?

我只需要一個配方的輸入文本來編寫地址並回應一個OK或一個抱歉。

我找到的所有信息都是計算路線的問題和解決方案,只需要驗證區域內的地址。

現在我知道自動填充並獲取保存地址進行驗證。現在我只需要知道如何在我的區域驗證該方向。

由我的英語對不起,謝謝你! :)

+0

你在後端使用什麼? D B? – AndreaM16

+0

只是一個平面的網頁的HTML,JavaScript,CSS。隨着解決方案的Mkiss,我解決了我的問題!謝謝 –

回答

4

這是給你的草圖: https://jsfiddle.net/zw6f78xk/

首先Place Autocomplete用於輸入一個地址,它給你的地址

然後location is checked無論是多邊形內部的位置。

google.maps.geometry.poly.containsLocation(place.geometry.location, polygon) 

希望這會有所幫助。

Update:

但現在,因爲你已經在你的谷歌地圖的多邊形,很容易改變形狀和檢索它的座標。 只需添加editable: true多邊形選項,那麼你可以手動修改它,最後你可以得到例如座標如下:

google.maps.event.addListener(polygon, 'click', function(evt) { 
    var pathArray = polygon.getPath().getArray(); 
    for (var i = 0; i < pathArray.length; i++){ 
     console.log(pathArray[i].toUrlValue()); 
    }; 
}); 

所以點擊多邊形它記錄其路徑。

Update 2:

地理編碼類型化的(但不是從自動完成選擇的)地址。 https://jsfiddle.net/zw6f78xk/3/

+0

非常感謝你的素描!你有我需要的解決方案,我的商人!這對我非常有用,非常感謝。 函數containsLocation非常有用。 我有一個問題。如果我需要更改我的區域交付,您如何獲取地圖的區域數據? {緯度:41.3749971,LNG:2.1669979}, ..ETC..ETC {緯度:41.3747476,LNG:2.1653795},{ 緯度:41.3749971,LNG:2.1669979}。 非常感謝你! –

+0

非常感謝。我從谷歌我的地圖導出kml文件,並提取excel中的coordenates和filtres以獲取JavaScript上的格式。比這麼多時間! –

+0

我很高興我能幫助你。同時你發現如何提取座標。我也是這樣做的。 我已經更新了我的答案,以展示如何在開發時修改多邊形並獲取其座標。 – MKiss