精华内容
下载资源
问答
  • 通过异步网络请求,调用高德API,...高德地图API,点击这里 package com.alibaba.controller; import com.alibaba.entity.MyPoint; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.

    通过异步网络请求,调用高德API,获取某个地址的经纬度等信息,再转为百度的经纬度。高德地图API,点击这里

    package com.alibaba.controller;
    
    import com.alibaba.entity.MyPoint;
    import com.fasterxml.jackson.databind.JsonNode;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.ning.http.client.AsyncHttpClient;
    import com.ning.http.client.AsyncHttpClientConfig;
    import com.ning.http.client.ListenableFuture;
    import com.ning.http.client.Response;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.math.BigDecimal;
    import java.util.concurrent.TimeUnit;
    
    /**
     * Created by lightClouds917
     * Date 2018/1/17
     * Description:异步网络请求
     * 此处以请求高德地图示例
     */
    @RestController
    @RequestMapping("asynClient")
    public class AsynClientController {
    
        private final org.slf4j.Logger logger = LoggerFactory.getLogger(getClass());
        /** π */
        private static double PI = 3.1415926535897932384626;
        /** 参数 */
        private static double X_PI = 3.14159265358979324 * 3000.0 / 180.0;
    
        /**
         * 高德地图  获取经纬度
         * @return
         */
        @RequestMapping(value = "test6",method = RequestMethod.GET)
        public String test6() {
            logger.info("==================>查询高德地图");
    
            String url  = "http://restapi.amap.com/v3/geocode/geo?address=方恒国际中心A座&key=05831d6b4be84db6d042b1d00d65b006";
            String url1 = "http://restapi.amap.com/v3/geocode/geo?address=北京市朝阳区阜通东大街6号&output=XML&key=05831d6b4be84db6d042b1d00d65b006";
            String url2  = "http://restapi.amap.com/v3/geocode/geo?address=杭州市江干区杭海路1099号&key=05831d6b4be84db6d042b1d00d65b006";
    
            //异步网络请求
            AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder();
            builder.setCompressionEnabled(true).setAllowPoolingConnection(true);
            builder.setRequestTimeoutInMs((int) TimeUnit.MINUTES.toMillis(1));
            builder.setIdleConnectionTimeoutInMs((int) TimeUnit.MINUTES.toMillis(1));
    
            AsyncHttpClient client = new AsyncHttpClient(builder.build());
            try {
                ListenableFuture<Response> future = client.prepareGet(url2).execute();
                String result = future.get().getResponseBody();
                logger.info("======>result:"+result);
                JsonNode jsonNode = new com.fasterxml.jackson.databind.ObjectMapper().readTree(future.get().getResponseBody());
                if (jsonNode.findValue("status").textValue().equals("1")) {
                    JsonNode listSource = jsonNode.findValue("location");
                    for (String location : listSource.textValue().split(",")) {
                        //得到这个位置的经纬度
                        logger.info(location);
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (client != null) {
                    client.close();
                }
            }
            return null;
        }
    
        /**
         * 查询高德地图坐标
         * 转为百度地图
         * url中:address为查询地址
         *       key需要去高德地图申请,类似于秘钥一样 ,申请地址:http://lbs.amap.com/api/webservice/summary/
         */
        @RequestMapping(value = "test7",method = RequestMethod.GET)
        public void test7(){
            try {
                logger.info("==================>查询高德地图");
                String url  = "http://restapi.amap.com/v3/geocode/geo?address=方恒国际中心A座&key=05831d6b4be84db6d042b1d00d65b006";
                //异步网络请求   比上面的简化了一下
                AsyncHttpClient client = new AsyncHttpClient();
                AsyncHttpClient.BoundRequestBuilder builder = client.prepareGet(url);
                ListenableFuture<Response> future = builder.execute();
    
                JsonNode jsonNode = new ObjectMapper().readTree(future.get().getResponseBody());
                if(jsonNode.findValue("status").textValue().equals("1")){
                    JsonNode location = jsonNode.findValue("location");;
                    logger.info("==========>location:"+location);
                    String[] lonAndLat = location.textValue().split(",");
                    logger.info("========>经度:"+lonAndLat[0]);
                    logger.info("========>纬度:"+lonAndLat[1]);
    
                    //高德---->百度地图
                    MyPoint myPoint = bd_encrypt(new MyPoint(Double.valueOf(lonAndLat[0]), Double.valueOf(lonAndLat[1])));
                    logger.info("========>经度:"+myPoint.getLon());
                    logger.info("========>纬度:"+myPoint.getLat());
                }
                String responseBody = future.get().getResponseBody();
                logger.info(responseBody);
            }catch (Exception ex){
                ex.printStackTrace();
                logger.info("=======>查询出错",ex);
            }
        }
    
        /**
         * 对double类型数据保留小数点后多少位
         * 高德地图转码返回的是 小数点后6位,为了统一封装一下
         * @param digit 位数
         * @param in 输入
         * @return 保留小数位后的数
         */
        public static double dataDigit(int digit,double in){
            return new BigDecimal(in).setScale(6,   BigDecimal.ROUND_HALF_UP).doubleValue();
    
        }
    
        /**
         * 将火星坐标转变成百度坐标
         * @param lngLat_gd 火星坐标(高德、腾讯地图坐标等)
         * @return 百度坐标
         */
        public static MyPoint bd_encrypt(MyPoint lngLat_gd) {
            double x = lngLat_gd.getLon(), y = lngLat_gd.getLat();
            double z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);
            double theta = Math.atan2(y, x) + 0.000003 * Math.cos(x *  X_PI);
            return new MyPoint(dataDigit(6,z * Math.cos(theta) + 0.0065),dataDigit(6,z * Math.sin(theta) + 0.006));
        }
    }
    


    展开全文
  • HDHCMS收集高德地图坐标拾取#iMap {height: 1200px;width: 1000px;float: left;}.info {float: left;margin: 0 0 0 10px;}label {width: 80px;float: left;}.detail {padding: 10px;border: 1px solid #aaccaa;}高德...
    HDHCMS收集高德地图坐标拾取

    #iMap {

    height: 1200px;

    width: 1000px;

    float: left;

    }

    .info {

    float: left;

    margin: 0 0 0 10px;

    }

    label {

    width: 80px;

    float: left;

    }

    .detail {

    padding: 10px;

    border: 1px solid #aaccaa;

    }

    高德地图坐标拾取工具(GCJ-02坐标)

    说明:

    1、鼠标滚轮可以缩放地图,拖动地图。

    2、点击地图,即可获得GCJ-02的经纬度坐标,即火星坐标。

    HDHCMS收集高德地图坐标拾取

    var mapObj;

    var lnglatXY;

    //初始化地图

    function mapInit() {

    var opt = {

    level: 10, //设置地图缩放级别

    center: new AMap.LngLat(114.064675,22.548782) //设置地图中心点

    }

    mapObj = new AMap.Map("iMap", opt);

    AMap.event.addListener(mapObj, 'click', getLnglat); //点击事件

    }

    function geocoder() {

    var MGeocoder;

    //加载地理编码插件

    mapObj.plugin(['AMap.ToolBar','AMap.Scale','AMap.OverView','AMap.MapType','AMap.Geolocation'],

    function(){

    mapObj.addControl(new AMap.ToolBar());

    mapObj.addControl(new AMap.Scale());

    mapObj.addControl(new AMap.OverView({isOpen:true}));

    mapObj.addControl(new AMap.MapType());

    mapObj.addControl(new AMap.Geolocation());

    });

    mapObj.plugin(["AMap.Geocoder"], function () {

    MGeocoder = new AMap.Geocoder({

    radius: 1000,

    extensions: "all"

    });

    //返回地理编码结果

    AMap.event.addListener(MGeocoder, "complete", geocoder_CallBack);

    //逆地理编码

    MGeocoder.getAddress(lnglatXY);

    });

    //加点

    var marker = new AMap.Marker({

    map: mapObj,

    icon: new AMap.Icon({

    image: "https://webapi.amap.com/theme/v1.3/markers/n/mark_bs.png" ,

    size: new AMap.Size(58, 30),

    imageOffset: new AMap.Pixel(-0, -0)

    }),

    position: lnglatXY,

    offset: new AMap.Pixel(-5, -30)

    });

    // mapObj.setFitView();

    }

    //回调函数

    function geocoder_CallBack(data) {

    console.log("ddd");

    var address;

    //返回地址描述

    address = data.regeocode.formattedAddress;

    console.log(address);

    //返回结果拼接输出

    document.getElementById("iAddress").innerHTML = address;

    }

    //鼠标点击,获取经纬度坐标

    function getLnglat(e) {

    mapObj.clearMap();

    var x = e.lnglat.getLng();

    var y = e.lnglat.getLat();

    document.getElementById("lnglat").innerHTML = x + "," + y;

    lnglatXY = new AMap.LngLat(x, y);

    geocoder();

    }

    展开全文
  • 因为高德百度地图各自有国标转换而来标准体系不一样,百度地图坐标转换成高德地图坐标
  • 酸奶小妹的火星坐标#iMap {height: 1200px;width: 1000px;float: left;}.info {float: left;margin: 0 0 0 10px;}label {width: 80px;float: left;}.detail {padding: 10px;border: 1px solid #aaccaa;}坐标拾取工具...
    酸奶小妹的火星坐标

    #iMap {

    height: 1200px;

    width: 1000px;

    float: left;

    }

    .info {

    float: left;

    margin: 0 0 0 10px;

    }

    label {

    width: 80px;

    float: left;

    }

    .detail {

    padding: 10px;

    border: 1px solid #aaccaa;

    }

    坐标拾取工具(GCJ-02坐标)

    说明:

    1、鼠标滚轮可以缩放地图,拖动地图。

    2、点击地图,即可获得GCJ-02的经纬度坐标,即火星坐标。

    var mapObj;

    var lnglatXY;

    //初始化地图

    function mapInit() {

    var opt = {

    level: 10, //设置地图缩放级别

    center: new AMap.LngLat(114.064675,22.548782) //设置地图中心点

    }

    mapObj = new AMap.Map("iMap", opt);

    AMap.event.addListener(mapObj, ‘click’, getLnglat); //点击事件

    }

    function geocoder() {

    var MGeocoder;

    //加载地理编码插件

    mapObj.plugin(["AMap.Geocoder"], function () {

    MGeocoder = new AMap.Geocoder({

    radius: 1000,

    extensions: "all"

    });

    //返回地理编码结果

    AMap.event.addListener(MGeocoder, "complete", geocoder_CallBack);

    //逆地理编码

    MGeocoder.getAddress(lnglatXY);

    });

    //加点

    var marker = new AMap.Marker({

    map: mapObj,

    icon: new AMap.Icon({

    image: "https://webapi.amap.com/theme/v1.3/markers/n/mark_bs.png" ,

    size: new AMap.Size(58, 30),

    imageOffset: new AMap.Pixel(-0, -0)

    }),

    position: lnglatXY,

    offset: new AMap.Pixel(-5, -30)

    });

    // mapObj.setFitView();

    }

    //回调函数

    function geocoder_CallBack(data) {

    console.log("ddd");

    var address;

    //返回地址描述

    address = data.regeocode.formattedAddress;

    console.log(address);

    //返回结果拼接输出

    document.getElementById("iAddress").innerHTML = address;

    }

    //鼠标点击,获取经纬度坐标

    function getLnglat(e) {

    mapObj.clearMap();

    var x = e.lnglat.getLng();

    var y = e.lnglat.getLat();

    document.getElementById("lnglat").innerHTML = x + "," + y;

    lnglatXY = new AMap.LngLat(x, y);

    geocoder();

    }

    点赞 (0)赏分享 (0)

    展开全文
  • 高德地图坐标拾取、带参进入定位坐标、自动复制坐标、可在URL跟坐标参数进行定位,可跟?gps=坐标系,坐标系,可定位多个坐标,可自动获取坐标,扒的高德地图坐标系,添加了带参进入定位功能
  • 高德地图坐标拾取器

    2018-02-05 17:04:59
    高德地图坐标拾取器,可以批量生成点击地图产生的经纬度坐标。
  • 最近因为公司需求,在做GPS定位,并且将获得的坐标显示在高德地图上,但是实际效果跟我们期望的是有偏差的。...下面这篇文章就详细介绍了Android中GPS坐标转换为高德地图坐标的方法,需要的朋友可以参考下。
  • 2.百度、高德地图坐标导入ARCGIS(WGS84坐标系、GCJ02坐标系、BD09坐标系 互转) 这里使用这个在线工具即可转换称WGS84导入arcgis了 https://tool.lu/coordinate/ #附:百度地图坐标拾取系统用于验证正确性 ...

    1.导出美团店家坐标位置:(步骤如图)
    在这里插入图片描述
    用电脑打开链接并复制查看
    在这里插入图片描述
    即可得到店铺在GCJ02坐标系下的坐标
    在这里插入图片描述
    2.百度、高德地图坐标导入ARCGIS(WGS84坐标系、GCJ02坐标系、BD09坐标系 互转)
    这里使用这个在线工具即可转换称WGS84导入arcgis了
    https://tool.lu/coordinate/
    在这里插入图片描述

    #附:百度地图坐标拾取系统用于验证正确性
    http://api.map.baidu.com/lbsapi/getpoint/index.html

    展开全文
  • 高德地图坐标拾取器1
  • java版GPS坐标转换为高德地图坐标

    热门讨论 2015-12-25 14:03:24
    此文件为纯java编写的GPS坐标转换到高德地图坐标,直接将文件添加到工程目录,调用转换函数即可,输入是double类型,输出是double数组,注意:输入输出数据的单位都是度。
  • 高德地图坐标拾取组件

    千次阅读 2021-01-18 10:19:17
    // 高德地图坐标拾取 param point 位置展示 如'114.424314,30.606697' getPoint选择位置返回坐标字符串 <template> <div class="map-wrapper"> <div :id="id" class="container"> <div v-...
  • refs: 1) ... 2) https://www.jianshu.com/p/39e283f7979e ...要点微信获取的实时地理坐标gps是硬件坐标,而相关地图商家给出的坐标是依赖各自系统的,通过地图选择的坐标是有一定偏差的。 ...
  • 基于高德坐标拾取系统:...1.地址转高德坐标代码:request_coord.py import json import requests import coord_trans """ 根据地址查询地点 """ def request_get(url, param, header): fail...
  • 最近做项目需要百度地图坐标转换到高德地图坐标,高德官方也给出了转换接口(百度地图也给出了转换接口) http://lbs.amap.com/api/javascript-api/reference/lnglat-to-address#t1 但是还想想直接通过后台一次性...
  • 高德地图坐标转换为百度地图坐标

    千次阅读 2016-09-24 09:15:45
    会根据用户当前手机安装地图APP进行导航,顺序是 1高德 2百度,如果用户没有安装高德地图APP则判断是否有百度地图APP因为APP是用的高德SDK所以在导航上没有任何问题,跳转百度后 坐标误差比较大有时候 导航提示 未...
  • 目的:根据高德地图获取的经纬度坐标,使用高德api中的路径规划接口来获取两个经纬度之间的距离,单位为米。 import net.sf.json.JSONArray; import net.sf.json.JSONObject; import java.io.BufferedReader; ...
  • 今天项目中遇到了服务端发的是百度地图的坐标,显示在高德地图上,在地图上位置偏差太大,就要把百度地图的坐标转换成高德的地图坐标,就在高德API官网搜到了,自己写出来记录一下,各位大神勿喷,下面上代码。...
  • 1.获取真实坐标GPS wgs84转为gcj编码方式 positiontransform(array,manual){ //定义常量 var GPS = { PI : 3.14159265358979324, x_pi : 3.141592...
  • /** * @author lafer * 高德地图工具类 */ public class GaoDeMapUtils { ... * 将GPS坐标转换为高德地图坐标 * @param longitude 经度 * @param latitude 纬度 */ public static Map<String, Objec.
  • 百度地图坐标和高德地图坐标转换

    千次阅读 2017-12-14 17:09:05
    不同坐标系转换偏移
  • 高德地图坐标转换问题

    千次阅读 2015-12-08 16:45:30
    最近项目中要继承高德地图,我是根据官方的开发指南配置的,使用CocoaPods自动配置,然后使用基本地图功能时没有问题,但当做到坐标转换的时候,问题就出现了,根据开发指南,坐标转换方法如下: //将GPS转成...
  • Android:GPS坐标转高德地图坐标

    千次阅读 2016-04-06 10:28:55
    最近做GPS定位,并且将获得的坐标显示在高德地图上,但是实际效果跟我们期望的是有偏差的。通过查阅资料,才知道有地球坐标、火星坐标之说。 一、坐标分类 地图坐标大致分为几种: 1、GPS、WGS84,也就是原始坐标...
  • 支持GPS/Mapbar/Baidu等多种类型坐标高德地图上使用。参见类CoordinateConverter。 CoordinateConverter converter = new CoordinateConverter(); // CoordType.GPS 待转换坐标类型 converter.from(CoordType....
  • 之前有个问题,就是大疆的坐标系在高德地图上显示发生了偏移,但是好在高德地图提供了坐标转换的API,但是新的问题来了,大疆的坐标适应了高德的坐标系,但是选择航点位置是在高德的地图上,执行却是在大疆的坐标系...
  • 高德地图 坐标与地址

    万次阅读 2017-04-01 23:47:32
    AMap.convertFrom坐标转换接口,支持将坐标点从其他坐标系转换为高德坐标系 2.AMap.Geocoder地理编码与逆地理编码类,用于地址描述与坐标之间的转换。用户可以通过自定义回调函数取回并显示查询结果。若服务请求...
  • 百度转高德地图坐标

    2015-06-02 10:07:30
    传入百度坐标,输出高德坐标,偏差大概在500米左右。
  • java 高德地图坐标转换为具体地址 /** * 通过经纬度查询地址 查询不出来 结果返回空字符串 * * @param longitude 经度 大于180 * @param latitude 纬度 * @return */ public static String getLocation(String ...
  • 高德地图坐标系县级以上行政代码及经纬度

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,145
精华内容 3,658
关键字:

如何获取高德地图坐标