2012-07-26 141 views

回答

11
 
if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(successFunction, errorFunction); 
} else { 
    alert('It seems like Geolocation, which is required for this page, is not enabled in your browser. Please use a browser which supports it.'); 
} 

如果瀏覽器支持地理位置,並且getCurrentPosition成功運行,則調用成功函數。然後在功能successFunction


function successFunction(position) { 
    var lat = position.coords.latitude; 
    var long = position.coords.longitude; 
    console.log('Your latitude is :'+lat+' and longitude is '+long); 
} 

瞭解更多有關Geolocation API這裏

+0

感謝您的回覆!一切工作正常:) – flyleaf 2012-07-30 07:50:05

+0

你在哪裏調用successFunction()? – Gino 2015-05-26 18:03:59

1

退房Gisgraphy免費的開源地理服務。

每個人都會告訴您使用Google Maps API,但請閱讀terms of use

(g)沒有谷歌地圖的內容沒有使用。除非您通過Google的書面許可,在地圖API文檔或 中明確允許您使用 ,否則您不得使用或 顯示沒有相應Google地圖的內容。無論如何,您不得使用 或在非Google地圖上或與其一起顯示內容。例如,對於 示例,您不得將 通過服務獲得的地理編碼與非Google地圖一起使用。作爲另一個示例,您不得在顯示街景視圖圖像的同時顯示非Google地圖,但您可能會 顯示沒有相應Google地圖的街景視圖圖像,因爲012xxMaps APIs文檔明確允許您這樣做。

所以用谷歌API你必須使用谷歌地圖。所以,如果你需要一張地圖,你確定。

+0

感謝您的回覆! – flyleaf 2012-07-30 07:50:45

0

它將幫助,如果我可以使用HTML5地理位置

那麼獲取經緯度,然後只是做正是 - 正是是你的問題呢?

這就是getCurrentPosition methodis for

+0

感謝您的回覆!這有助於很多! – flyleaf 2012-07-30 07:51:24

0

Flyleaf,我在工作我們也提供了一個API來獲取地址的座標;它叫做LiveAddress API

正如巴特所說,谷歌的TOS不會允許您在未顯示Google地圖的情況下進行地理編碼,更重要的是您無法存儲結果。如果您希望按照您的建議找到地址,我推薦了一些類似LiveAddress的地址,它實際上也會驗證地址的有效性 - 這些其他API和HTML5不會這樣做。

希望你找到適合你的東西。現在的問題有點含糊,但也許這會有所幫助。它可能會去像這樣(with Javascript):

LiveAddress.geocode(address, function(geo) { 
    alert("The address is at: " + geo.coords); 
}); 
+0

SmartyStreets僅限美國嗎?還是您也支持歐洲?該API無法在荷蘭找到我的地址。 – 2012-07-27 15:10:27

+0

這是美國的,但它真的*擅長美國地址。 :)對於國際性案例,我們建議通過LiveAddress發送美國地址,或者通過您選擇的其他API發送美國地址,但是要認識到大多數API不會真正驗證國際地址的可送達性/有效性。 – Matt 2012-07-27 16:39:30

+0

@flyleaf SmartyStreets現在做國際地址驗證 – camiblanch 2015-08-12 16:36:51

1

我發現最好的選擇是直接通過一個子項目使用OpenStreetMapNominatim)API他們。

API documentation

REST電話:http://nominatim.openstreetmap.org/reverse?format=xml&lat=35.958&lon=-83.952&zoom=18

注意的是,雖然他們的服務條款並允許從瀏覽器的JavaScript直接客戶端使用,他們不希望大批量使用,並使用你的服務器建議作爲添加緩存的代理,因此可以輕鬆切換。數據可供下載,並提供了有關設置本地查詢數據的數據庫的說明。

+0

太棒了,謝謝你。一直在尋找一個很好的免費看起來,因爲得到經緯度很容易:) – 2014-02-07 16:12:04

相關問題