2011-02-15 135 views

回答

0

您可以使用谷歌的GeoCode API只用簡單的HTTP請求

解析是將地址(如「1600劇場百匯,山景,CA」)轉換爲地理座標的過程中做使用Java這(樣北緯37.423021和經度-122.083739),您可以使用它來放置標記或定位地圖。 Google Geocoding API提供了一種通過HTTP請求訪問地理編碼器的直接方式。此外,該服務允許您執行逆向操作(將座標轉換爲地址);這個過程被稱爲「反向地理編碼」。

+1

從他們的網站:「地理編碼API只能與Google地圖結合使用;禁止在地圖上顯示地理編碼結果「。此解決方案不適用於大範圍的應用。 – 2012-04-17 22:39:56

0

我覺得Google曾經有一個java API,但現在看起來是deprecated。 Maps API是JavaScript或寧靜的HTTP。所以你可以在後者周圍建立一個小的java lib或class來創建適當的請求。我猜測迴應將是JSON,您需要使用可用的許多JSON庫之一進行解析。

0

沒有爲谷歌地理編碼服務的Java API:

http://code.google.com/p/geocoder-java/

這提供了下列限制:「地址解析API只能與谷歌地圖結合使用;地址解析結果沒有顯示它們禁止在地圖上「。還有使用限制。

你需要在你的ivy文件如下條目:

<dependency org="com.google.code.geocoder-java" name="geocoder-java" rev="0.9"/> 

這裏一個簡單的要求:

final Geocoder geocoder = new Geocoder(); 
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress("Paris, France").setLanguage("en").getGeocoderRequest(); 
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest); 

還有SourceForge項目,但它似乎並不成熟:

http://jgeocoder.sourceforge.net/