import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
public class LatitudeUtils {
    public static final String KEY_1 = "7d9fbeb43e975cd1e9477a7e5d5e192a";
     * key lng(经度),lat(纬度)
    public static Map<String,String> getGeocoderLatitude(String address){
        BufferedReader in = null;
        try {
            //将地址转换成utf-8的16进制
            address = URLEncoder.encode(address, "UTF-8");
            URL tirc = new URL("http://api.map.baidu.com/geocoder?address="+ address +"&output=json&key="+ KEY_1);
            in = new BufferedReader(new InputStreamReader(tirc.openStream(),"UTF-8"));
            String res;
            StringBuilder sb = new StringBuilder("");
            while((res = in.readLine())!=null){
                sb.append(res.trim());
            String str = sb.toString();
            Map<String,String> map = null;
            if(StringUtils.isNotEmpty(str)){
                int lngStart = str.indexOf("lng\":");
                int lngEnd = str.indexOf(",\"lat");
                int latEnd = str.indexOf("},\"precise");
                if(lngStart > 0 && lngEnd > 0 && latEnd > 0){
                    String lng = str.substring(lngStart+5, lngEnd);
                    String lat = str.substring(lngEnd+7, latEnd);
                    map = new HashMap<String,String>();
                    map.put("lng", lng);
                    map.put("lat", lat);
                    return map;
        }catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
        return null;
    public static void main(String args[]){
        try {
            Map<String, String> json = LatitudeUtils.getGeocoderLatitude("浦东区张杨路1725号");
            System.out.println("lng : " + json.get("lng"));
            System.out.println("lat : " + json.get("lat"));
        }catch (Exception e ){
           e.printStackTrace();

测试结果:

lng : 117.152246
lat : 40.132721

在编写应用的时候,如果我们要将光标定位到某个位置,可以采用下面的方法: CharSequence text = editText.getText(); if (text instanceof Spannable) { Spannable spanText = (Spannable)text; Selection.setSelection(spanTe... 现在正开发的定位模块用到的定位设置是塞格车圣导航设备,发送指令返回的经纬度需要进行转换,再到GIS系统获取地理信息描述。以后需要要经常用到这方面的知识,随笔写下。 将十进制数值转经纬度 Decimal Degrees = Degrees + minutes/60 + seconds/3600   例:57°55'56.6" =57+55/60+56.6/3600=5... 上代码:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.net.URLEncoder;import java.util.HashMap;import java.util.Map;import org.ap... import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class AddressUtil { private static final Logger log .. 图片.png图片.png代码如下package com.example.demo.config.mapUtils;import com.alibaba.fastjson.JSONObject;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.ne... 可以使用 Geocoder 类来获取地理位置信息。 首先,需要获取 Geocoder 对象: Geocoder geocoder =new Geocoder(context, Locale.getDefault()); 其中,context 可以是当前 Activity 的上下文,也可以是应用程序的上下文。 然后,调用 Geocoder 的 getFromLocation() 方法来获取地理位置... package api.binstd.geoconvert;import java.net.URLEncoder;import api.util.HttpUtil;import net.sf.json.JSONObject;public class Addr2coord {public static final String APPKEY = "your_appkey_here";// 你的app... import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.MalformedURLExceptio public static Map getLngAndLat(String address) { Map map = new HashMap(); String url = "http://api.map.baidu.com/geocoder/v2/?address=" + address + "&output=json&ak=你的ak"; ... 图片.png图片.png代码如下:package com.example.demo.config.mapUtils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import java.io.BufferedReader;im... 是国际上通用的坐标系,也称地球坐标系,gps和北斗系统都使用的是wgs坐标系。谷歌地图使用的是wgs坐标系(中国部分除外),openstreetmap使用的也是这种坐标系是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系,也称火星坐标系,谷歌中国地图、搜搜中国地图、高德地图采用的是GCJ02地理坐标系。:即百度坐标系,GCJ02坐标系经加密后的坐标系,由百度公司独创,百度地图使用的就是这个坐标系。应用中大多使用wgs坐标系,我们在计算经纬度的时候,。