1 高德静态地图链接

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

2

/**
* User: [一秋]
* Date: 2017/9/4
* Time: 10:17
* Desc: 成功来源于点滴
*/ namespace app\lib\bin;
//高德地图API
header("Content-Type: text/html; charset=utf-8");
class Amap
{
private $web_service_key;
private $host ;
public function __construct()
{
$this->web_service_key = 'your web key';//web服务key值
$this->host = request()->host();
} //静态地图
public function staticMap($s_lng,$s_lat,$g_lng,$g_lat){ $urlObj['size'] = "710*430";
// $urlObj['zoom'] = 15;
$urlObj['scale'] = 1;
$urlObj['traffic'] = 0;
// $urlObj['paths'] = '5,0x0000FF,1,,:113.709999,34.729698;113.740639,34.761528';
$urlObj['markers'] = "-1,定位图标图片链接,0:$s_lng,$s_lat|-1,定位图标图片链接,0:$g_lng,$g_lat";
$urlObj['key'] = $this->web_service_key;
$bizString = $this->ToUrlParams($urlObj); $url = "http://restapi.amap.com/v3/staticmap?".$bizString; $info = $this->curl_get($url); $img_path = $this->generateImg($info); return $this->host.'/'.$img_path;
} private function generateImg($img_info){
$ret = [];
$year = date('Ymd');
$path = "uploads/$year";
if (!is_dir($path)) {
mkdir(iconv("UTF-8", "GBK", $path), 0777, true);
}
$imgname = 'amap'.$this->getMillisecond();
$type = 'png';
$new_file = $path.'/'.$imgname.".".$type; $a = file_put_contents($new_file,$img_info);
if ($a) {
return $path . '/' . $imgname . "." . $type;
}
return $ret;
} /**
* 拼接字符串
*/
private function ToUrlParams($urlObj)
{
$buff = "";
foreach ($urlObj as $k => $v)
{
if($k != "sign"){
$buff .= $k . "=" . $v . "&";
}
} $buff = trim($buff, "&");
return $buff;
} /**
* @param string $url get请求地址
* @param int $httpCode 返回状态码
* @return mixed
*/
private function curl_get($url, &$httpCode = 0)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //不做证书校验,部署在linux环境下请改为true
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$file_contents = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $file_contents;
}
// 获取毫秒值
private function getMillisecond()
{
list ($t1, $t2) = explode(' ', microtime());
return ( float )sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000);
} }

绘制静态地图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. 彻底理解 Android 中的阴影

    如果我们想创造更好的 Android App,我相信我们需要遵循 Material Design 的设计规范.一般而言,Material Design 是一个包含光线,材质和投影的三维环境.如果我们想 ...

  2. python并发编程之多进程(一):进程开启方式&多进程

    一,进程的开启方式 利用模块开启进程 from multiprocessing import Process import time,random import os def piao(name): ...

  3. js中boolean类型的理解

    <html> <head> <script type="text/javascript"> var x="12"; aler ...

  4. iOS实现从服务器请求json数据并转化成NSDictionary

    NSURL *url = [NSURL URLWithString:URL]; NSURLRequest *request = [NSURLRequest requestWithURL:url cac ...

  5. HDU - 2612 bfs [kuangbin带你飞]专题一

    分别以两个人的家作为起点,bfs求得到每个KFC最短距离.然后枚举每个KFC,求得时间之和的最小值即可. 此题不符合实际情况之处:  通过了一个KFC再去另一个KFC可以吗? 出题人都没好好想过吗? ...

  6. NLP︱高级词向量表达(三)——WordRank(简述)

    如果说FastText的词向量在表达句子时候很在行的话,GloVe在多义词方面表现出色,那么wordRank在相似词寻找方面表现地不错. 其是通过Robust Ranking来进行词向量定义. 相关p ...

  7. Ubuntu 上查看硬件信息命令

    1.Mint 驱动程序管理器是由 Linux Mint 团队开发的一款系统工具软件,使得用户在Linux系统中可容易安装专有驱动,通过一个直观的界面.由于 Mint 驱动程序管理器具有独立性,它支持所 ...

  8. Android设备唯一码的获取

    Android设备唯一码的获取 UTDID是集团无线设备统一ID方案,目的是给每一台设备一个ID,作为唯一标识.UTDID由客户端生成,并在设备中各个客户端之间共享.UTDID的生成中包含时间戳和随机 ...

  9. 基于busybox的Linux小系统制作 (initrd)

    我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明.准备环境:1.一个Redhat完整系统的虚拟机,本次 ...

  10. dedecms 在首页调取文章内容

    方法一:arcticle 标签 加上channeleid {dede:arclist' addfields='body' channelid='1'}[field:body/]{/dede:arcli ...