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]);//纬度
    }
    }













  • 相关阅读:
    DataAnnotations
    使用BizTalk实现RosettaNet B2B So Easy
    biztalk rosettanet 自定义 pip code
    Debatching(Splitting) XML Message in Orchestration using DefaultPipeline
    Modifying namespace in XML document programmatically
    IIS各个版本中你需要知道的那些事儿
    关于IHttpModule的相关知识总结
    开发设计的一些思想总结
    《ASP.NET SignalR系列》第五课 在MVC中使用SignalR
    《ASP.NET SignalR系列》第四课 SignalR自托管(不用IIS)
  • 原文地址:https://www.cnblogs.com/zhangzhiqin/p/9571448.html
Copyright © 2011-2022 走看看