精华内容
下载资源
问答
  • 高德开放平台

    2020-06-16 16:49:56
  • 基于 高德开放平台 的 PHP 天气信息组件
  • 高德开放平台天气查询API

    千次阅读 2020-03-07 11:29:31
    更多内容,请查看博客原文:高德开放平台天气查询API https://finolo.gy/2020/01/高德开放平台天气查询API/ 高德开放平台下的天气查询接口文档 https://lbs.amap.com/api/webservice/guide/api/weatherinfo 注册...

    更多内容,请查看博客原文:高德开放平台天气查询API
    https://finolo.gy/2020/01/高德开放平台天气查询API/

    高德开放平台下的天气查询接口文档

    https://lbs.amap.com/api/webservice/guide/api/weatherinfo

    注册开发者账号,获取Key

    https://restapi.amap.com/v3/weather/weatherInfo?parameters
    

    parameters代表的参数包括必填参数和可选参数。

    https://restapi.amap.com/v3/weather/weatherInfo?key=[key]&city=310115

    返回结果:

    {
        "status": "1",
        "count": "1",
        "info": "OK",
        "infocode": "10000",
        "lives": [
            {
                "province": "上海",
                "city": "浦东新区",
                "adcode": "310115",
                "weather": "多云",
                "temperature": "6",
                "winddirection": "北",
                "windpower": "≤3",
                "humidity": "56",
                "reporttime": "2020-01-12 17:57:21"
            }
        ]
    }
    

    百度api是jsonp的方式获取数据,而高德地图的api是允许跨域的。

    更多内容,请查看博客原文:高德开放平台天气查询API
    https://finolo.gy/2020/01/高德开放平台天气查询API/

    展开全文
  • Weather 基于高德开放平台的 PHP 天气信息组件
  • [高德开放平台] 定位对接 萌璐琉璃 https://www.jianshu.com/p/312287e25444 目标 对接高德开放平台的定位接口 依赖 <!-- httpclient 工具类 --> <dependency> <groupId>org.apache....

    [高德开放平台] 定位对接

    萌璐琉璃

    https://www.jianshu.com/p/312287e25444

    目标

    对接高德开放平台的定位接口

    依赖

    <!-- httpclient 工具类 -->
          <dependency>
              <groupId>org.apache.httpcomponents</groupId>
              <artifactId>httpclient</artifactId>
              <version>4.3</version>
          </dependency>
          <dependency>
              <groupId>org.apache.httpcomponents</groupId>
              <artifactId>httpmime</artifactId>
              <version>4.3</version>
          </dependency>
    

    工具类

    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;
    import java.net.URLEncoder;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import net.sf.json.JSONObject;
    import org.apache.http.client.HttpClient;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import com.alibaba.fastjson.JSONArray;
    
    /**
     * 定位相关工具
     * 参考:https://blog.csdn.net/u010235716/article/details/51538876
     */
    public class AddressUtils {
    
        // 高德地图API KEY,在高德地图开放平台可以申请到
        public static final String LBS_API_KEY = "xxxxxx";
        public static final String LBS_API_GET_LNG_LAT_URL = "http://restapi.amap.com/v3/geocode/geo";
    
        public static Double[] getLngAndLatByAmap(String address) throws Exception {
            address = address.trim();
            Map<String,String> pames = new HashMap<>();
            pames.put("address",URLEncoder.encode(address, "utf-8"));
            pames.put("output","json");
            pames.put("key",LBS_API_KEY);
            String json = HttpUtils.sendGet(LBS_API_GET_LNG_LAT_URL,pames);
            System.out.println(json);
            JSONObject jsonObject = JSONObject.fromObject(json).getJSONArray("geocodes").getJSONObject(0);
            Double[] rest = new Double[2];
            String location = jsonObject.getString("location");
            rest[0] = Double.valueOf(location.split(",")[0]);
            rest[1] = Double.valueOf(location.split(",")[1]);
            return rest;
        }
    }
    
    

    HttpUtils工具类

    package com.zp.haveplace.util;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.net.MalformedURLException;
    import java.net.URI;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    import java.util.zip.GZIPInputStream;
    
    import org.apache.http.HttpHost;
    import org.apache.http.HttpRequest;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.ResponseHandler;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.client.methods.HttpUriRequest;
    import org.apache.http.conn.ClientConnectionManager;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.params.HttpParams;
    import org.apache.http.protocol.HTTP;
    import org.apache.http.protocol.HttpContext;
    import org.apache.http.util.EntityUtils;
    
    /**
     * ClassName: HttpUtils
     * 参考: http://wiki.jikexueyuan.com/project/java-wechat/11.html
     * @Description: http 请求工具类
     * @author dapengniao
     * @date 2016 年 3 月 10 日 下午 3:57:14
     */
    @SuppressWarnings("deprecation")
    public class HttpUtils {
    
        /**
         * @Description: http get 请求共用方法
         * @param @param reqUrl
         * @param @param params
         * @param @return
         * @param @throws Exception
         * @author dapengniao
         * @date 2016 年 3 月 10 日 下午 3:57:39
         */
        @SuppressWarnings("resource")
        public static String sendGet(String reqUrl, Map<String, String> params)
                throws Exception {
            InputStream inputStream = null;
            HttpGet request = new HttpGet();
            try {
                String url = buildUrl(reqUrl, params);
                HttpClient client = new DefaultHttpClient();
    
                request.setHeader("Accept-Encoding", "gzip");
                request.setURI(new URI(url));
    
                HttpResponse response = client.execute(request);
    
                inputStream = response.getEntity().getContent();
                String result = getJsonStringFromGZIP(inputStream);
                return result;
            } finally {
                if (inputStream != null) {
                    inputStream.close();
                }
                request.releaseConnection();
            }
    
        }
    
        /**
         * @Description: http post 请求共用方法
         * @param @param reqUrl
         * @param @param params
         * @param @return
         * @param @throws Exception
         * @author dapengniao
         * @date 2016 年 3 月 10 日 下午 3:57:53
         */
        @SuppressWarnings("resource")
        public static String sendPost(String reqUrl, Map<String, String> params)
                throws Exception {
            try {
                Set<String> set = params.keySet();
                List<NameValuePair> list = new ArrayList<NameValuePair>();
                for (String key : set) {
                    list.add(new BasicNameValuePair(key, params.get(key)));
                }
                if (list.size() > 0) {
                    try {
                        HttpClient client = new DefaultHttpClient();
                        HttpPost request = new HttpPost(reqUrl);
    
                        request.setHeader("Accept-Encoding", "gzip");
                        request.setEntity(new UrlEncodedFormEntity(list, HTTP.UTF_8));
    
                        HttpResponse response = client.execute(request);
    
                        InputStream inputStream = response.getEntity().getContent();
                        try {
                            String result = getJsonStringFromGZIP(inputStream);
    
                            return result;
                        } finally {
                            inputStream.close();
                        }
                    } catch (Exception ex) {
                        ex.printStackTrace();
                        throw new Exception("网络连接失败,请连接网络后再试");
                    }
                } else {
                    throw new Exception("参数不全,请稍后重试");
                }
            } catch (Exception ex) {
                ex.printStackTrace();
                throw new Exception("发送未知异常");
            }
        }
    
        /**
         * @Description: http post 请求 json 数据
         * @param @param urls
         * @param @param params
         * @param @return
         * @param @throws ClientProtocolException
         * @param @throws IOException
         * @author dapengniao
         * @date 2016 年 3 月 10 日 下午 3:58:15
         */
        public static String sendPostBuffer(String urls, String params)
                throws ClientProtocolException, IOException {
            HttpPost request = new HttpPost(urls);
    
            StringEntity se = new StringEntity(params, HTTP.UTF_8);
            request.setEntity(se);
            // 发送请求
            @SuppressWarnings("resource")
            HttpResponse httpResponse = new DefaultHttpClient().execute(request);
            // 得到应答的字符串,这也是一个 JSON 格式保存的数据
            String retSrc = EntityUtils.toString(httpResponse.getEntity());
            request.releaseConnection();
            return retSrc;
    
        }
    
        /**
         * @Description: http 请求发送 xml 内容
         * @param @param urlStr
         * @param @param xmlInfo
         * @param @return
         * @author dapengniao
         * @date 2016 年 3 月 10 日 下午 3:58:32
         */
        public static String sendXmlPost(String urlStr, String xmlInfo) {
            // xmlInfo xml 具体字符串
    
            try {
                URL url = new URL(urlStr);
                URLConnection con = url.openConnection();
                con.setDoOutput(true);
                con.setRequestProperty("Pragma:", "no-cache");
                con.setRequestProperty("Cache-Control", "no-cache");
                con.setRequestProperty("Content-Type", "text/xml");
                OutputStreamWriter out = new OutputStreamWriter(
                        con.getOutputStream());
                out.write(new String(xmlInfo.getBytes("utf-8")));
                out.flush();
                out.close();
                BufferedReader br = new BufferedReader(new InputStreamReader(
                        con.getInputStream()));
                String lines = "";
                for (String line = br.readLine(); line != null; line = br
                        .readLine()) {
                    lines = lines + line;
                }
                return lines; // 返回请求结果
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return "fail";
        }
    
        private static String getJsonStringFromGZIP(InputStream is) {
            String jsonString = null;
            try {
                BufferedInputStream bis = new BufferedInputStream(is);
                bis.mark(2);
                // 取前两个字节
                byte[] header = new byte[2];
                int result = bis.read(header);
                // reset 输入流到开始位置
                bis.reset();
                // 判断是否是 GZIP 格式
                int headerData = getShort(header);
                // Gzip 流 的前两个字节是 0x1f8b
                if (result != -1 && headerData == 0x1f8b) {
                    // LogUtil.i("HttpTask", " use GZIPInputStream  ");
                    is = new GZIPInputStream(bis);
                } else {
                    // LogUtil.d("HttpTask", " not use GZIPInputStream");
                    is = bis;
                }
                InputStreamReader reader = new InputStreamReader(is, "utf-8");
                char[] data = new char[100];
                int readSize;
                StringBuffer sb = new StringBuffer();
                while ((readSize = reader.read(data)) > 0) {
                    sb.append(data, 0, readSize);
                }
                jsonString = sb.toString();
                bis.close();
                reader.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            return jsonString;
        }
    
        private static int getShort(byte[] data) {
            return (data[0] << 8) | data[1] & 0xFF;
        }
    
        /**
         * 构建 get 方式的 url
         *
         * @param reqUrl
         *            基础的 url 地址
         * @param params
         *            查询参数
         * @return 构建好的 url
         */
        public static String buildUrl(String reqUrl, Map<String, String> params) {
            StringBuilder query = new StringBuilder();
            Set<String> set = params.keySet();
            for (String key : set) {
                query.append(String.format("%s=%s&", key, params.get(key)));
            }
            return reqUrl + "?" + query.toString();
        }
    
    }
    
    展开全文
  • 高德开放平台 - 学习/实践

    千次阅读 2019-11-28 18:50:53
    借助高德开放平台进行项目的开发, 完成 业务需要, 如地理编码. 2.学习/操作 2.1 介绍 暂见:https://lbs.amap.com/dev/index //高德开放平台开发者 ...

    1.应用场景

    借助高德开放平台进行项目的开发, 完成 业务需要, 如地理编码.

    2.学习/操作

    2.1 介绍

    暂见: https://lbs.amap.com/dev/index  //高德开放平台开发者

    https://lbs.amap.com/api/webservice/summary/  //Web服务API简介  推荐阅读

     

    2.2 操作

    2.2.1 登录, 下方是控制台页面  //这里是支付宝授权登录, 具体操作暂略, 暂未开发者认证.

     

    2.2.2 地理编码

    将现实中的物理地址][如咖啡店]转化为地图上的经纬度格式,这个过程叫做地理编码(Geocode)

    https://xueyuanjun.com/post/9621

    https://lbs.amap.com/api/webservice/guide/api/georegeo  //地理/逆地理编码

     

    简单讲:

    -- 地理编码:将详细的结构化地址转换为高德经纬度坐标。且支持对地标性名胜景区、建筑物名称解析为高德经纬度坐标。

    结构化地址举例:北京市朝阳区阜通东大街6号转换后经纬度:116.480881,39.989410

    地标性建筑举例:天安门转换后经纬度:116.397499,39.908722

     

    -- 逆地理编码:将经纬度转换为详细结构化的地址,且返回附近周边的POI、AOI信息。

    例如:116.480881,39.989410 转换地址描述后:北京市朝阳区阜通东大街6号

     

    备注:

    高德地图、百度地图、Google地图这些地图服务都提供了开放的 API

     

    步骤

    1. 获取高德地图 Web 服务 API Key

    https://lbs.amap.com/api/webservice/guide/create-project/get-key

     

    2. 添加 API Key 到配置文件

    获取到 API Key 之后,我们将其添加到 Laravel 应用的配置文件中,方便后续调用,首先将 API Key 存储到 .env 里面:

    GAODE_MAPS_WS_API_KEY={YOUR_API_KEY}

    然后在 config/services.php 中引用:

    'gaode' => [
        'ws_api_key' => env('GAODE_MAPS_WS_API_KEY'),
    ]

     

    这样,我们就可以在编写代码时通过 config('services.gaode.ws_api_key') 获取 API Key 了。

     

    3. 构建高德地图工具类

    接下来,我们来创建一个工具类 GaodeMaps 用于调用高德地图 API 实现相关功能。首先创建一个 app\Utilities 目录,然后在该目录下创建 GaodeMaps 类文件,使用 PHPStorm 的话会自动生成如下代码:

    <?php
    namespace App\Utilities;

    class GaodeMaps
    {

    }

    接下来我们就要编写地理编码实现代码了。

     

    4. 安装 Guzzle HTTP 扩展包

    由于我们是在 Laravel 后端发起 API 请求,所以在调用高德地图 API 之前需要安装相应的网络扩展包发送 HTTP 请求,这里我们使用 Guzzle HTTP 扩展包,如果你已经安装过这个扩展包,可以跳过本步骤,否则可以通过 Composer 进行安装:

    composer require guzzlehttp/guzzle

    5. 添加地理编码方法到工具类

    做好以上准备工作后,接下来开始正式编写将咖啡店地址信息转化为经纬度的地理编码处理逻辑,在开始编写代码之前建议翻阅下高德地图提供的地理编码文档,以便熟悉相关的 API 方法和返回字段,我们在上面创建的 GaodeMaps 类中定义一个静态方法 geocodeAddress 来实现地理编码:

    TBD

     

    后续补充

    ...

    3.问题/补充

    TBD

    4.参考

    https://lbs.amap.com/dev/index  //高德开放平台开发者

    https://xueyuanjun.com/post/9621  //通过高德地图 Web 服务 API 对咖啡店地址进行地理编码

    https://lbs.amap.com/api/webservice/summary/  //Web服务API简介  推荐阅读

    https://lbs.amap.com/api/webservice/guide/api/georegeo  //地理/逆地理编码

    后续补充

    ...

    展开全文
  • 偶然间,使用高德开放平台看看有什么接口;发现还可以自己diy地图的样式,很赞,遂分享一下~【ps:这章讲的是初步制作】 1.首先,你得注册一个高德开放平台的账号,这个不用说~百度搜索高德开放平台,第一个就是了...
  • 应网友私信需要,上传基于高德开放平台爬取的重庆地区公交站点与路线数据。数据包含站点、路线的.csv数据,以及相应的.shp数据。
  • 基于高德开放平台的 PHP 天气信息组件。 安装 $ composer require hedeqiang/weather -vvv 配置 在使用本扩展之前,你需要去 高德开放平台 注册账号,然后创建应用,获取应用的 API Key。 使用 use Hedeqiang\...
  • 上一篇我们介绍微博开放平台时说道了通过高德开放平台获取地名地址的坐标,今天我们来说一说怎么使用高德开放平台查询相关关键词的地址坐标,或者采集学校、医院、餐厅、公园、企业等POI的信息。高德开放平台...
  • 0)去高德开放平台注册认证并且到控制台>应用管理>我的应用创建应用获取Key 1)获取jsSDK https://webapi.amap.com/maps?v=1.4.8&key=高德开发者创建应用申请的key 2)获取经纬度位置 3)将经纬度位置进行高德...
  • 对接高德开放平台的定位接口 依赖 &lt;!-- httpclient 工具类 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.httpcomponents&lt;/groupId&gt; &lt;artifactId&...
  • 高德开放平台显示城市边界 如今,围绕API进行软件开发。 开发人员可以调用API来使用来自供应商的服务,而不是将供应商的产品嵌入到其应用程序中。 开发人员无需知道后端响应什么。 他们只需要知道供应商的API从他们...
  • 数据显示,高德开放平台每月覆盖设备数量已达到9亿,并为超过30万移动应用提供位置服务。近期,高德开放平台正式对外公开了已上线一年的轨迹纠偏服务,此服务能够为出行类应用的定位轨迹提供纠偏,匹配道路,在里程...
  • 基于高德开放平台SDK的定位Demo

    千次阅读 2017-10-17 13:42:54
     在高德开放平台添加应用,添加新Key,获取Key值; 第2步:  下载高德地图SDK、高德定位SDK,将其中的jar包添加到Android Studio工程下的libs目录下,并添加与当前应用的依赖关系; 第3步:  在...
  • 在项目中需要使用类似GIS效果的地图,考虑到高德开放平台关于云图的便利性,便利用官网和网上的例子,进行了初步实现。 1.带3D效果: 2.代码: <!doctype html> <html> <head> <...
  • yii2-weather 基于高德开放平台的天气信息组件。 安装 $ composer require saviorlv/yii2-weather -vvv 配置 在使用本扩展之前,你需要去 高德开放平台 注册账号,然后创建应用,获取应用的 API Key。 使用 在config...
  • 交通大数据与云计算测试 通过高德开放平台用出租车数据找出乘客上下车最频繁区域 这次找到了一个非常好用的经纬度数据可视化平台:高德开放平台 先把我的结果放上来,有兴趣的朋友可以看一下 ... ...
  • 近日,国内技术领先的地图及位置服务提供商高德开放平台便率先推出了LBS游戏行业解决方案,为LBS类游戏开发者提供包含定位、地图、搜索等功能的一体化平台服务,为开发者研发位置信息元素游戏提供更加便捷的平台技术...
  • 大赛旨在发动开发者力量,对高德源代码进行二次开发,催生更多便捷易用的地图工具,让高德LBS开放平台成为一个名副其实的开放的、创新的平台。 随着移动应用的急速繁荣、开发者用户需求的多元化,现有基础SDK和API...
  • js API 高德开放平台

    2018-10-05 18:43:16
    高德是阿里旗下的偏向地面服务的一个开放服务平台,提供了众多稳定、质量高、数据结构清晰明了的开放api; 开放api接口涵盖web应用、移动端、pc端各种语言以及微信小程序等的数据接口; 接口面向个人开发者和企业...
  • 需要注册登录哦! 查看IP定位开发文档 记得要申请KEY哦,而且每天请求次数有限制的哦,别乱玩儿 很棒的开放平台哦!!!查看文档基本啥功能都有~~~ ...
  • 近来发现腾讯位置服务和高德开放平台公众号都发布了一篇关于升级Javascript API GL的文章,点进去一看,内容结构实在太相似了,看起来像是出自同一个人之手,不禁想起了上学时的“抄作业”,文化人可能说:这叫借鉴~...
  • 高德开放平台申请key并下载sdk:amap-wx.js放到pages同级目录libs里面 <template> <view class="content"> <view class="map_box"> <map class="map" id="navi_map" :longitude=...
  • 第三方高德开放平台高德地图定位

    千次阅读 2017-10-17 19:32:09
    高德
  • 高德开放平台高级产品经理杨巍、资深研发经理朴春植、技术专家刘魁(骏征)受邀参加了本次大会并发表演讲,以摩拜单车和ofo等共享经济行业企业为例,阐述了高德开放平台为其提供的多种不同服务。同时杨巍宣布,目前...
  • 定位成功之后我们会对浏览器定位的经纬度结果进行向高德坐标的转化,并对所有有效定位结果融合地址信息后返回complete事件或者回调complete信息。 2、在移动端,如果开发者开启了sdk辅助定位,那么安卓手机上我们会...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 733
精华内容 293
关键字:

高德开放平台