zoukankan      html  css  js  c++  java
  • 百度地图api根据地址获取经纬度

    package com.haiyisoft.cAssistant;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.UnsupportedEncodingException;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    /** * 获取经纬度 * * @author Sunny * 密钥:f247cdb592eb43ebac6ccd27f796e2d2 */
    public class GetLatAndLngByBaidu {
    /** * @param addr * 查询的地址 * @return * @throws IOException */
    public Object[] getCoordinate(String addr) throws IOException {
    String lng = null;//经度
    String lat = null;//纬度
    String address = null;
    try {
    address = java.net.URLEncoder.encode(addr, "UTF-8");
    }
    catch (UnsupportedEncodingException e1)
    {
    e1.printStackTrace();
    }
    String key = "qDaws0IfG7VID98VWsDCYZvr8j6fRkGv";
    String url = String .format("http://api.map.baidu.com/geocoder?address=%s&output=json&key=%s", address, key);
    URL myURL = null;
    URLConnection httpsConn = null;
    try {
    myURL = new URL(url);
    }
    catch (MalformedURLException e) {
    e.printStackTrace();
    }
    InputStreamReader insr = null;
    BufferedReader br = null;
    try {
    httpsConn = (URLConnection) myURL.openConnection();// 不使用代理
    if (httpsConn != null)
    {
    insr = new InputStreamReader( httpsConn.getInputStream(), "UTF-8");
    br = new BufferedReader(insr);
    String data = null;
    int count = 1;
    while((data= br.readLine())!=null){
    if(count==5){
    lng = (String)data.subSequence(data.indexOf(":")+1, data.indexOf(","));//经度
    count++;
    }else if(count==6){
    lat = data.substring(data.indexOf(":")+1);//
    count++;
    }
    else{
    count++;
    }
    }
    }
    }
    catch (IOException e) {
    e.printStackTrace();
    } finally {
    if(insr!=null){
    insr.close();
    }
    if(br!=null){
    br.close();
    }
    }
    return new Object[]{lng,lat};
    }
    public static void main(String[] args) throws IOException {
    GetLatAndLngByBaidu getLatAndLngByBaidu = new GetLatAndLngByBaidu();
    Object[] o = getLatAndLngByBaidu.getCoordinate("山东省烟台市机场路2号东方电子");
    System.out.println(o[0]);//经度
    System.out.println(o[1]);//纬度
    }
    }













  • 相关阅读:
    NStimer 被堵塞
    零基础学python-7.6 字符串格式化表达式
    实验记录三 通用输入输出(GPIO)
    VTK的安装配置-使用VS2010
    Python 查找Twitter中特定话题中最流行的10个转发Tweet
    ios开发之-计算器的改进
    彻查网络局部网段内Ping时断时续的问题
    hdoj-1016-Prime Ring Problem【深搜】
    WebView的截屏实现
    CentOs虚拟机能够互相ping通,但无法訪问虚拟机服务
  • 原文地址:https://www.cnblogs.com/zhangzhiqin/p/9571448.html
Copyright © 2011-2022 走看看