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













  • 相关阅读:
    10 种保护 Spring Boot 应用的绝佳方法
    Redis 如何分析慢查询操作?
    Spring Boot 主类及目录结构介绍
    Redis 再牛逼,也得设置密码!!
    Spring Data Redis 详解及实战一文搞定
    Spring Boot Redis Cluster 实战干货
    超详细的 Redis Cluster 官方集群搭建指南
    Redis Linux 安装运行实战全记录
    hdu 4790 Just Random (思路+分类计算+数学)
    poj 1328 Radar Installation(贪心)
  • 原文地址:https://www.cnblogs.com/zhangzhiqin/p/9571448.html
Copyright © 2011-2022 走看看