1 高德静态地图链接

http://lbs.amap.com/api/webservice/guide/api/staticmaps

2

  1. /**
  2. * User: [一秋]
  3. * Date: 2017/9/4
  4. * Time: 10:17
  5. * Desc: 成功来源于点滴
  6. */
  7.  
  8. namespace app\lib\bin;
  9. //高德地图API
  10. header("Content-Type: text/html; charset=utf-8");
  11. class Amap
  12. {
  13. private $web_service_key;
  14. private $host ;
  15. public function __construct()
  16. {
  17. $this->web_service_key = 'your web key';//web服务key值
  18. $this->host = request()->host();
  19. }
  20.  
  21. //静态地图
  22. public function staticMap($s_lng,$s_lat,$g_lng,$g_lat){
  23.  
  24. $urlObj['size'] = "710*430";
  25. // $urlObj['zoom'] = 15;
  26. $urlObj['scale'] = 1;
  27. $urlObj['traffic'] = 0;
  28. // $urlObj['paths'] = '5,0x0000FF,1,,:113.709999,34.729698;113.740639,34.761528';
  29. $urlObj['markers'] = "-1,定位图标图片链接,0:$s_lng,$s_lat|-1,定位图标图片链接,0:$g_lng,$g_lat";
  30. $urlObj['key'] = $this->web_service_key;
  31. $bizString = $this->ToUrlParams($urlObj);
  32.  
  33. $url = "http://restapi.amap.com/v3/staticmap?".$bizString;
  34.  
  35. $info = $this->curl_get($url);
  36.  
  37. $img_path = $this->generateImg($info);
  38.  
  39. return $this->host.'/'.$img_path;
  40. }
  41.  
  42. private function generateImg($img_info){
  43. $ret = [];
  44. $year = date('Ymd');
  45. $path = "uploads/$year";
  46. if (!is_dir($path)) {
  47. mkdir(iconv("UTF-8", "GBK", $path), 0777, true);
  48. }
  49. $imgname = 'amap'.$this->getMillisecond();
  50. $type = 'png';
  51. $new_file = $path.'/'.$imgname.".".$type;
  52.  
  53. $a = file_put_contents($new_file,$img_info);
  54. if ($a) {
  55. return $path . '/' . $imgname . "." . $type;
  56. }
  57. return $ret;
  58. }
  59.  
  60. /**
  61. * 拼接字符串
  62. */
  63. private function ToUrlParams($urlObj)
  64. {
  65. $buff = "";
  66. foreach ($urlObj as $k => $v)
  67. {
  68. if($k != "sign"){
  69. $buff .= $k . "=" . $v . "&";
  70. }
  71. }
  72.  
  73. $buff = trim($buff, "&");
  74. return $buff;
  75. }
  76.  
  77. /**
  78. * @param string $url get请求地址
  79. * @param int $httpCode 返回状态码
  80. * @return mixed
  81. */
  82. private function curl_get($url, &$httpCode = 0)
  83. {
  84. $ch = curl_init();
  85. curl_setopt($ch, CURLOPT_URL, $url);
  86. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  87.  
  88. //不做证书校验,部署在linux环境下请改为true
  89. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  90. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
  91. $file_contents = curl_exec($ch);
  92. $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  93. curl_close($ch);
  94. return $file_contents;
  95. }
  96. // 获取毫秒值
  97. private function getMillisecond()
  98. {
  99. list ($t1, $t2) = explode(' ', microtime());
  100. return ( float )sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000);
  101. }
  102.  
  103. }

绘制静态地图API-高德地图的更多相关文章

  1. arcgis api 3.x for js 入门开发系列十七在线天地图、百度地图、高德地图(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  2. 百度地图和高德地图坐标系的互相转换 四种Sandcastle方法生成c#.net帮助类帮助文档 文档API生成神器SandCastle使用心得 ASP.NET Core

    百度地图和高德地图坐标系的互相转换   GPS.谷歌.百度.高德坐标相互转换 一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系,一般用国际GPS纪录仪记 ...

  3. ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)

    前言 在 ios上边使用地图库的同学肯定遇到过这样的问题:吹出框只能设置title和subtitle和左右的view,不管是百度地图还是高德地图还是自带的 google地图,只提供了这四个属性,如果想 ...

  4. 在WPF中使用谷歌地图和高德地图

    原文:在WPF中使用谷歌地图和高德地图 在桌面软件开发中可能会遇到这样的需求:显示地图. 常用的地图API有Google Map和高德地图.二者都提供了各种平台的API. 为了方便集成,本文使用Jav ...

  5. iOS打开百度地图、高德地图导航

    1.判断手机里是否已经安装了百度地图或者高德地图: BOOL hasBaiduMap = NO; BOOL hasGaodeMap = NO; if ([[UIApplication sharedAp ...

  6. 百度地图API自定义地图

    http://api.map.baidu.com/lbsapi/creatmap/index.html http://developer.baidu.com/map/index.php?title=w ...

  7. 关于百度地图API的地图坐标转换问题

    原文:关于百度地图API的地图坐标转换问题 我在之前的文章利用html5获取经纬度并且在百度地图中显示位置中使用了百度地图的API来显示html5获取的地理位置,在文中我说过这样的话,我说百度地图的准 ...

  8. 网页嵌入百度地图和使用百度地图api自定义地图的详细步骤

    在网页中插入百度地图 如果想在自己的网页上面加入百度地图的话,可以用百度地图的api.具体使用方法如下: 第一步:进入百度创建地图的网站http://api.map.baidu.com/lbsapi/ ...

  9. [WEB地图] 2017高德地图API WEB开发(key申请,地图搭建)简约教程

      前端时间因为公司需要研究 了一下百度的教程 然后写个简约的笔记记录一下自己学习的收获,只为了满足自己暂时的写作热情   高德地图WEB开发(key申请.api)简约教程 1.首先我们需要去“高德地 ...

  10. 百度地图、高德地图、Google地图等坐标系相关梳理

    1.地理坐标系与投影坐标系 地理坐标系也就是球面坐标系,是将本不是椭球体的地球进行椭球体化,从而形成球面坐标体系,国际标准的地理坐标系就是WGS-84坐标系: 只不过各个国家为了反映该国家所在区域地球 ...

随机推荐

  1. Filezilla Server 出现Error, could not connect to server解决办法

    打开任务管理器:Win+R:services.msc找到Filezilla Server并启动服务

  2. 用Eclipse Maven 创建 Web 3.0 项目问题 正确的处理步骤

    在Eclipse 安装好Maven插件后,创建Maven webapp项目,在工程 properties -> project facets 界面中将 Dynamic Web Module 修改 ...

  3. js获取某个日期所在周周一的日期

    第一次写,做个小笔记. 第一步:获取该日期的星期数: 第二步:在该日期上减去他的星期数再减1,(注:星期日获取到的星期数是0): 下面是具体代码: function GetMonday(dd) { v ...

  4. 初识vue——起步

    一.目录结构: 我们经常使用的是以下几个目录: 1.assets:静态资产文件:在vue组件中,所有组件中,所有模板和CSS都会被vue-html-loader和css-loader解析,并查找资源u ...

  5. UVA1213

    先打表,再回溯+剪枝 AC代码: #include<cstdio> #include<cstring> #include<cmath> const int maxn ...

  6. UVA1619 栈维护递增序列

    先说这题的关键性质:每一个数应该只会计算一次,它有一个最小区间[L,R],即它在这个区间内是最小的,最小区间内任何包含它的子区间都不会大于F(L,R)=(a[L]+...+a[R])*min(a[l] ...

  7. Netty(二):Netty为啥去掉支持AIO?

    匠心零度 转载请注明原创出处,谢谢! 疑惑 我们都知道bio nio 以及nio2(也就是aio),如果不是特别熟悉可以看看我之前写的网络 I/O模型,那么netty为什么还经常看到类似下面的这段代码 ...

  8. PHP常见错误

    1.关于单引号和双引号的区别. $sql="insert into tableName values ('".$name."','".$email." ...

  9. VxWorks程序指南

    ******************************************* 一.任务 ******************************************* 任务状态:挂起 ...

  10. Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext

    1.错误描述 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache ...