我們有一個數據庫,它使用Google Maps API進行基於位置的搜索。然而,澳大利亞的州或領土搜索是有問題的,因爲谷歌地圖將這些定位在各州的中心,澳大利亞大多數人口中心都在沿海。使用谷歌地圖的澳大利亞州/領地的經緯度座標數據庫
我們需要在緯度和經度上手工編碼,以便當某人搜索州'NSW'時,數據庫會返回相關結果。有沒有人知道在哪裏可以找到澳大利亞國家邊界的座標列表&地區編碼進入數據庫?
這將節省我們繁忙的程序員很多時間。 在此先感謝。
我們有一個數據庫,它使用Google Maps API進行基於位置的搜索。然而,澳大利亞的州或領土搜索是有問題的,因爲谷歌地圖將這些定位在各州的中心,澳大利亞大多數人口中心都在沿海。使用谷歌地圖的澳大利亞州/領地的經緯度座標數據庫
我們需要在緯度和經度上手工編碼,以便當某人搜索州'NSW'時,數據庫會返回相關結果。有沒有人知道在哪裏可以找到澳大利亞國家邊界的座標列表&地區編碼進入數據庫?
這將節省我們繁忙的程序員很多時間。 在此先感謝。
您可以將澳大利亞國家邊界下載爲OpenStreetMap作爲XML文件。請注意,data license要求您分享派生作品。
只是一個想法,實際上可以有一個JavaScript數組與國家的名稱和相關的latlong,你想中心地圖?
所以如果有人在尋找新南威爾士州,那麼你加載-33.833578,151.190872。
function initialize() {
var myLatlng = new google.maps.LatLng(-33.833578,151.190872);
var myOptions = {
zoom: 8,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
讓我知道是否有幫助。否則,正如我在阿德萊德是你可以聯繫我:)
乾杯,
艾夫斯
謝謝你,我會問開發者(誰是前阿德萊德btw)。 – RMW 2010-12-05 08:11:43
我叫開發商 - 想我應該談什麼,我們終於做到了實現此功能:
爲了闡明這實際用於什麼,該數據庫用於搜索可能具有地理位置的事件。
起初我發現這個免費的地圖數據:https://www.ga.gov.au/products/servlet/controller?event=GEOCAT_DETAILS&catno=60803。
但是,數據很難處理,我們決定使用Google地圖的我的地圖功能(RMW)簡單地生成每個州的基本輪廓。
然後我創建了PNPOLY函數的pl/sql實現,並編寫了搜索代碼來運行PNPOLY函數,比較每個事件的lat和lng與狀態輪廓(從My Maps導出)並僅返回事件在邊界內。
有2個主要的問題是:
除第一個問題 - 城鎮出現錯誤的狀態外,該實施可能會運行良好。
當前實現放棄PNPOLY功能,取而代之的是更簡單的解決方案:
您可以在http://collectiveaction.com.au/events的行動中看到它 - 從狀態下拉列表中選擇並單擊「更新搜索結果」。
我與大家分享我的要點:XML of state polygons。然而,對於一些州來說,它也帶有太許多點,如果你需要匹配一個點與州例如它可能成爲一個性能殺手。如果你想要一個簡單的版本,你可以嘗試使用這個tool自己生成多邊形座標。
希望這能幫助解決某人的痛苦。
謝謝Jaime。希望這些解決方案之一將解決這個問題。 – RMW 2010-12-05 08:12:35