https://developers.google.com/maps/documentation/geocoding/?hl=zh-CN#GeocodingRequests获得google的GPS服务的api文档
package com.hhj.gps;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;
/*import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.Projection;*/
import android.R.integer;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Point;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class GoogleGeographyQuery{
static double lng;
static double lat;
/*查询经纬度*/
public static double[] jingweidu(String AddressName){
//List<Map<String, Object>> mData=new ArrayList<Map<String, Object>>();
String url = "http://maps.googleapis.com/maps/api/geocode/json?address=" + AddressName + "&sensor=false";
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(url);
try {
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
InputStream input = entity.getContent();
int t;
StringBuffer buffer = new StringBuffer();
while ((t = input.read()) != -1) {
buffer.append((char) t);
}
//tv.setText(buffer);
// json解析
JSONObject object = new JSONObject(buffer.toString());
JSONObject location = object.getJSONArray("results")
.getJSONObject(0)// 获得中括号的内容
.getJSONObject("geometry")// 获得大括号中的内容
.getJSONObject("location");
lng = location.getDouble("lng");
lat = location.getDouble("lat");
Log.i("HHJ", "经纬度是 : "+lng+" "+lat);
double[] data ={lng,lat};
return data;
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static String geocodeAddr(String latitude, String longitude) {
String addr = "";
// 也可以是http://maps.google.cn/maps/geo?output=csv&key=abcdef&q=%s,%s,不过解析出来的是英文地址
// 密钥可以随便写一个key=abc
// output=csv,也可以是xml或json,不过使用csv返回的数据最简洁方便解析
String url = String.format("http://ditu.google.cn/maps/geo?output=csv&key=abcdef&q=%s,%s",latitude, longitude);
URL myURL = null;
URLConnection httpsConn = null;
try {
myURL = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
}
try {
httpsConn = (URLConnection) myURL.openConnection();
if (httpsConn != null) {
InputStreamReader insr = new InputStreamReader(httpsConn.getInputStream(), "UTF-8");
BufferedReader br = new BufferedReader(insr);
String data = null;
if ((data = br.readLine()) != null) {
System.out.println(data);
String[] retList = data.split(",");
if (retList.length > 2 && ("200".equals(retList[0]))) {
addr = retList[2];
addr = addr.replace("\"", "");
} else {
addr = "";
}
Log.i("HHJ", "123 : "+addr);
}
insr.close();
}
} catch (IOException e) {
e.printStackTrace();
return null;
}
return addr;
}
}
相关推荐
百度坐标与google坐标之间的相互转换,google坐标与google坐标之间的相互转换。
在WebGIS中,Mercator坐标通常以米为单位,用于谷歌地图、OpenStreetMap等在线地图服务,其标准投影公式为:x=λ-λ₀,y=ln(tan(π/4+φ/2)),其中λ、φ分别是经度和纬度,λ₀是中央经线。 WGS84是全球定位系统...
在IT行业中,尤其是在地理信息系统(GIS)和定位服务领域,经纬度换算是一个常见的任务。经纬度是一种在地球表面表示位置的方式,其中经度代表东西方向的位置,纬度则表示南北方向的位置。在不同的坐标系统之间进行...
使用时,只需传入相应的经纬度值,即可得到转换后的坐标。 在实际应用中,这些工具类对于处理跨平台的地图数据交换、地图标注定位等场景非常有用。例如,当用户的位置信息是从GPS获取的WGS84坐标,但我们需要将其...
本文将深入探讨“GPS百度和谷歌坐标互转”的技术实现,基于给定的Java代码示例,为开发者提供详细的转换方法和步骤。 首先,我们需要了解两种坐标系的基础知识。百度地图使用的是自定义的“bd09ll”坐标系,而谷歌...
百度经纬度互转高德经纬度源代码,具有以下功能 1、通过经纬度获取地址信息。 2、通过地址信息获取经纬度。 3、高德谷歌经纬度转百度地图经纬度。 4、百度经纬度转高德谷歌经纬度。 注,本程序来自于互联网,看了...
在Google Earth中,用户可以设置显示经纬度或UTM坐标,但系统并未提供内置的坐标转换功能,尤其是对于大量数据的转换。由于UTM坐标在国外广泛应用,而在国内相对不常见,这在进行跨国项目,如中国石油的海外勘探开发...
使用后羿采集器规则,利用线上坐标在线转换网站,批量实现三种坐标之间的转换
Google在中国大陆使用的也是经过调整的GCJ-02坐标,有时被称为"谷歌坐标"。 进行坐标转换的关键在于算法。C#中,我们可以实现一个类库来处理这两种坐标系统的转换。GCJ-02坐标系统对WGS84坐标进行了两次加密,因此...
从 CLLocationManager 取出来的经纬度去 Google Maps API 做逆地址解析,当然是错的! 从 MKMapView 取出来的经纬度去 Google Maps API 做逆地址解析终于对了。去百度地图API做逆地址解析,依旧是错的! 从上面两...
4. **运行转换命令**:在CAD命令行中输入“acad2kml”或“a2k”,调用插件,输入Google Earth参考点的经纬度和转换系数(如1000,用于缩放比例),然后保存生成的.kml文件。 5. **导入Google Earth**:最后,在...
这里提到的“经纬度转换kml格式”是指将经纬度坐标转换为KML(Keyhole Markup Language)格式,这是一种由Google开发的用于存储地理标记和地理数据的XML方言。 KML文件常用于Google Earth和Google Maps等应用程序,...
Android MapAPI是Google提供的一种服务,它允许开发者在Android应用中集成交互式地图功能。MapAPI提供了丰富的功能,如地图显示、定位、路线规划、地理编码(地址转换为经纬度)和反地理编码(经纬度转换为地址)。...
**MapInfo与谷歌地球互转** Global Mapper 12 提供了与其他GIS平台,如MapInfo,以及流行的虚拟地球平台谷歌地球之间的数据转换能力。这种兼容性增强了数据的灵活性和共享性,具体包括: 1. **MapInfo格式转换**:...
Google地图API是Google提供的一个强大的工具,允许开发者在Android应用中集成交互式地图。通过这个API,开发者可以实现以下功能: 1. **显示地图**:在活动中添加MapView控件,加载不同类型的地图,如卫星图、地形...
谷歌地图API V2是Google为开发者提供的一种强大的工具,用于在网页或移动应用中集成交互式地图功能。这个开发实例集全面介绍了如何利用这个API创建各种功能,对初学者来说是一份宝贵的资源。下面,我们将深入探讨这...
在描述中提到的"地图综合地图应用"可能包括了多种地图功能,如路线规划、定位、地理编码(将地址转换为经纬度坐标)和反地理编码(将经纬度坐标转换为地址)。这些功能可以通过Qt的QGeoRoutingManager、...
地图随意变色、BS/CS/Mobile离线访问、离线站点自动构建、国家基本比例尺地形图分幅下载、大图智能分块、地标自动绘制、坐标系转换(CGCS2000/WGS84/Xianan80/Beijing54等)、专业纠偏(WGS84/GCJ-02/BD-09互转)等
地图随意变色、BS/CS/Mobile离线访问、离线站点自动构建、国家基本比例尺地形图分幅下载、大图智能分块、地标自动绘制、坐标系转换(CGCS2000/WGS84/Xianan80/Beijing54等)、专业纠偏(WGS84/GCJ-02/BD-09互转)等
3. **坐标转换**:根据需要将经纬度数据从不同坐标系转换到WGS84坐标系,以便与Google Earth兼容。 4. **KML生成**:将解析后的数据转化为KML文件,包括点、线、时间戳等信息。 5. **可视化**:在Google Earth中打开...