1. /**
  2. * 获取地址对应的坐标
  3. * @param $address
  4. * @return array
  5. */
  6. function getAddressPoint($address){
  7. $lng = 0;
  8. $lat = 0;
  9. $url = 'http://api.map.baidu.com/geocoder?output=json&address=' . urlencode($address);
  10. if(function_exists('curl_init')) {
  11. $ch = curl_init();
  12. curl_setopt($ch, CURLOPT_URL, $url);
  13. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  14. curl_setopt($ch, CURLOPT_HEADER, 0);
  15. $data = curl_exec($ch);
  16. curl_close($ch);
  17. }else{
  18. $data = file_get_contents($url,false,stream_context_create(array(
  19. "http"=>array(
  20. "method"=>"GET",
  21. "timeout"=>1
  22. ),
  23. )));
  24. }
  25. $data = json_decode($data,true);
  26. if($data && $data['status'] == 'OK' && isset($data['result']) && isset($data['result']['location']))
  27. {
  28. $lng = $data['result']['location']['lng'];
  29. $lat = $data['result']['location']['lat'];
  30. }
  31. return array($lng,$lat);
  32. }
  33. /**
  34. * 逆地理编码专属请求
  35. * User: Lg
  36. * Date: 2016/4/11
  37. * @param $address
  38. * @return array
  39. */
  40. function getAddress($lat,$lng){
  41. $location = $lat.','.$lng;
  42. $url = 'http://api.map.baidu.com/geocoder?callback=renderReverse&location='.$location.'&output=json&pois=1';
  43. if(function_exists('curl_init')) {
  44. $ch = curl_init();
  45. curl_setopt($ch, CURLOPT_URL, $url);
  46. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  47. curl_setopt($ch, CURLOPT_HEADER, 0);
  48. $data = curl_exec($ch);
  49. curl_close($ch);
  50. }else{
  51. $data = file_get_contents($url,false,stream_context_create(array(
  52. "http"=>array(
  53. "method"=>"GET",
  54. "timeout"=>1
  55. ),
  56. )));
  57. }
  58. $data = json_decode($data,true);
  59. if($data && $data['status'] == 'OK' && isset($data['result']) && isset($data['result']['addressComponent']))
  60. {
  61. $province = $data['result']['addressComponent']['province'];
  62. $city = $data['result']['addressComponent']['city'];
  63. $district = $data['result']['addressComponent']['district'];
  64. }
  65. return array($province,$city,$district);
  66. }

百度API经纬度和地址互相查询的更多相关文章

  1. java根据地址获取百度API经纬度

    java根据地址获取百度API经纬度(详细文档) public void getLarLng(String address) throws Exception { String ak = " ...

  2. 利用百度API Store接口进行火车票查询

    火车票查询 项目源码下载链接: Github:https://github.com/VincentWYJ/TrainTicketQuery 博客文件:http://files.cnblogs.com/ ...

  3. PHP学习笔记:利用百度api实现手机归属地查询

    从来没有用过api,都不知道怎么获得api的数据,跟着demo,然后修改,终于实现了手机号码查询的功能,代码和说明很全,大家试试. <?php /** * Created by jianqing ...

  4. 百度地图经纬度和地址互转(Java代码)

    这是基于springmvc+mybatis 的一个controller.如果不是这个框架,可以把方法实体抽到自己写的一个类中,然后再测试 package com.uwitec.controller.s ...

  5. 百度api查询多个地址的经纬度的问题

    在使用百度api查询多个地址的经纬度的时候,由于百度api提供的经纬度查询方法是回调函数,并且后续操作必须等经纬度获取完成才能进行,问题就存在于怎么判断所有地点是否都回调完成了,问了之前的一个前端大佬 ...

  6. 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期

    腾讯云图片鉴黄集成到C#   官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public c ...

  7. 百度地图JavaScript API经纬度查询-MAP

    百度地图JavaScript API经纬度查询-MAP-ABCDEFGHIJKMHNOPQRSTUVWXYZ: 搜索:<input type="text" size=&quo ...

  8. java工具类(一)之服务端java实现根据地址从百度API获取经纬度

    服务端java实现根据地址从百度API获取经纬度 代码: package com.pb.baiduapi; import java.io.BufferedReader; import java.io. ...

  9. .net根据经纬度获取地址(百度api)

    private string GetAddress(string lng, string lat) { try { string url = @"http://api.map.baidu.c ...

随机推荐

  1. socks-proxy---with ssh

    socks-proxy---with sshhttps://blog.csdn.net/scien2011/article/details/54562501

  2. 数据可视化——阿里云解决方案DataV

    数据可视化——阿里云解决方案DataV https://help.aliyun.com/document_detail/53844.html?spm=a2c4g.11186623.6.579.37fd ...

  3. redis加固

    一.背景描述 1.漏洞描述 Redis 因配置不当存在未授权访问漏洞,可以被攻击者恶意利用. 在特定条件下,如果 Redis 以 root 身份运行,黑客可以给 root 账号写入 SSH 公钥文件, ...

  4. Linux_磁盘分布_以及分区

    运用 Xshell  工具链接到你的服务器 1.     Fdisk -l    这是查看磁盘挂载列表情况 2.      Fdisk /dev/vdc   这是分区这个磁盘   m    是查看信息 ...

  5. Spring Boot web简介及原理 day04

    一.SpringBoot创建web开发(三部曲) 1.快速构建SpringBoot项目,并以jar包的形式构建 2.选择对应的功能模块 (选定场景,配置少量的配置就可运行,不配置有默认值) 3.编写自 ...

  6. vue-cli 创建项目失败

    vue-cli 创建一个vue项目报错 npm code 404. 尝试解决方法都有,我是第3种方法生效 更新npm 重新安装nodejs vue-cli@3.0.1 在创建项目的时候,不能开启其他v ...

  7. LockScreen

    <Window x:Class="XXX.Client.LockScreenView" xmlns="http://schemas.microsoft.com/wi ...

  8. Windows服务器外网无法访问web的解决方法

    windows环境下使用集成 IIS服务器时一般不会发生外网无法访问的问题,而使用apache.kangle.lighttpd.niginx.tomcat等时:服务器上可通过配置的域名访问网站,pin ...

  9. mysql扩展性架构实践N库到2N 库的扩容,2变4、4变8

    mysql扩展性架构实践N库到2N 库的扩容,2变4.4变8 http://geek.csdn.net/news/detail/5207058同城 沈剑 http://www.99cankao.com ...

  10. spring 初始化

    一.Spring 容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配号Bean之间的依 ...