如何獲取特定城市或街道或位置的經緯度而不使用谷歌地圖? 例如,用戶輸入的城市名稱是「Chennai」,我只需要顯示該城市的緯度和經度。這個怎麼做?如何獲取特定城市或街道的經緯度而不使用谷歌地圖?
6
A
回答
10
這就是所謂的地理編碼,需要追加對地名的經度和緯度。
您可以將已知的地名/緯度列表編碼到您的應用中,在運行時讀取它們並在需要時搜索它們,也可以使用在線地理編碼服務,例如this one from Yahoo或this one from Google。
2
檢查Obtaining geographic coordinates在維基百科頁面
2
1
我有同樣的問題..最後,我通過從服務器端獲得拉長來修復它。 This鏈接有示例代碼用於從java獲取lat和long。希望它有助於某個人。
private static final String GEOCODE_REQUEST_URL = "http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&";
private static HttpClient httpClient = new HttpClient(new MultiThreadedHttpConnectionManager());
String strLatitude;
String strLongtitude;
public void getLongitudeLatitude(String address) {
try {
StringBuilder urlBuilder = new StringBuilder(GEOCODE_REQUEST_URL);
if (StringUtils.isNotBlank(address)) {
urlBuilder.append("&address=").append(URLEncoder.encode(address, "UTF-8"));
}
final GetMethod getMethod = new GetMethod(urlBuilder.toString());
try {
httpClient.executeMethod(getMethod);
Reader reader = new InputStreamReader(getMethod.getResponseBodyAsStream(), getMethod.getResponseCharSet());
int data = reader.read();
char[] buffer = new char[1024];
Writer writer = new StringWriter();
while ((data = reader.read(buffer)) != -1) {
writer.write(buffer, 0, data);
}
String result = writer.toString();
System.out.println(result.toString());
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader("<"+writer.toString().trim()));
Document doc = db.parse(is);
strLatitude = getXpathValue(doc, "//GeocodeResponse/result/geometry/location/lat/text()");
System.out.println("Latitude:" + strLatitude);
strLongtitude = getXpathValue(doc,"//GeocodeResponse/result/geometry/location/lng/text()");
System.out.println("Longitude:" + strLongtitude);
} finally {
getMethod.releaseConnection();
}
} catch (Exception e) {
e.printStackTrace();
}
}
private String getXpathValue(Document doc, String strXpath) throws XPathExpressionException {
XPath xPath = XPathFactory.newInstance().newXPath();
XPathExpression expr = xPath.compile(strXpath);
String resultData = null;
Object result4 = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result4;
for (int i = 0; i < nodes.getLength(); i++) {
resultData = nodes.item(i).getNodeValue();
}
return resultData;
}
相關問題
- 1. 獲取基於城市,郵編或街道名稱的經度和緯度
- 2. 如何執行谷歌地圖搜索街道名稱,城市?
- 3. 經度和城市的緯度使用內部消除谷歌地圖
- 4. 從谷歌地圖獲取經緯度
- 5. 獲取特定城市的緯度和經度android
- 6. 如何獲取當前的經緯度而不使用谷歌地圖android
- 7. 如何從地址或街道獲得經度和緯度?
- 8. 從城市名稱獲取經緯度
- 9. 從經緯度獲取城市名稱
- 10. 從谷歌街道地址提取城市和州信息
- 11. 如何獲取谷歌地圖上的緯度和經度
- 12. 如何從谷歌地圖獲取經度和緯度的place_id?
- 13. 如何獲取谷歌地圖中心的經度和緯度
- 14. rails從谷歌地圖使用經緯度獲取地址
- 15. 如何使用Facebook API從經度/緯度獲取城市的地點編號
- 16. 如何從谷歌地圖獲取緯度和經度?
- 17. 如何在Android中獲取緯度和經度或谷歌地圖的高度?
- 18. 按城市或經度和緯度
- 19. 如何使用緯度和經度獲取位置名稱或城市?
- 20. 如何獲得地址的緯度和經度?谷歌地圖
- 21. iphone谷歌地圖獲取地址的經度和緯度
- 22. 如何從谷歌地圖獲取當前的經緯度
- 23. 如何獲得一個城市的緯度,谷歌地圖上的替代API只有城市的名稱
- 24. 如何使用Xcode,iPhone中的谷歌地圖獲取地址的經緯度
- 25. 使用HTML獲取城市名稱的經緯度,bing地圖中的js
- 26. 如何獲取經緯度和中心谷歌地圖iOS
- 27. 如何獲取谷歌地圖api v3 javascript中的緯度,經度onclick地圖?
- 28. 如何獲得城市中所有地區的經緯度值
- 29. 通過經緯度獲取谷歌街景
- 30. 如何獲取經緯度的城市信息