• 微信公众号 之获取定位地址信息和地图选点


    获取定位地址信息:通过微信jssdk中定位获取经纬度,然后将经纬度转换为百度地图经纬度,最后调用百度地图web api获取地址信息。

    地图选点:点击百度地图位置添加标注,点击确定后获取标注经纬度,最后转换为地址信息。

    /**
     * 根据经纬度在百度地图获取详细地址信息
     * @param $latitude
     * @param $longitude
     * @return mixed
     */
    function getPositionInfo($latitude, $longitude) {
        global $ak;
        $data = changePositionToBaidu($latitude, $longitude);
        $url = "http://api.map.baidu.com/geocoder/v2/?location=".$data['latitudeNew'].",".$data['longitudeNew']."&output=json&pois=0&ak=$ak";
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }
    
    /**
     * gps经纬度转为百度地图经纬度
     * @param $latitude
     * @param $longitude
     * @return array
     */
    function changePositionToBaidu($latitude, $longitude)
    {
        global $ak;
        $q = "http://api.map.baidu.com/geoconv/v1/?coords=".$longitude.",".$latitude."&from=1&to=5&ak=$ak";
        $resultQ = json_decode(file_get_contents($q),true);
        $latitudeNew = $resultQ["result"][0]["y"];
        $longitudeNew = $resultQ["result"][0]["x"];
        $returnDataArray = array("latitudeNew"=>$latitudeNew,"longitudeNew"=>$longitudeNew);
        return $returnDataArray;
    }

    选点效果图如下:

  • 相关阅读:
    Pentaho Data Integration (二) Spoon
    Pentaho Data Integration笔记 (一):安装
    透视纹理引发的对于插值的思考
    读取位图(bitmap)实现及其要点
    关于渲染流水线的几何变化
    关于C++中不同类之间的赋值问题——存疑
    uva 12284 直接判断
    uva 12549 最大流
    uva 12544 无向图最小环
    uva 12587 二分枚举
  • 原文地址:https://www.cnblogs.com/yang-2018/p/10862066.html
Copyright © 2020-2023  润新知