很多站长朋友们都不太清楚php嵌入高德,今天小编就来给大家整理php嵌入高德,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 H5调用腾讯,百度,高德地图导航 2、 Docker PHP 入门实践(三) 3、 如何在openlayers中叠加高德地图,并且正确叠加WMS图层 4、 php 怎么用post方法获取高德地图poi数据 5、 用php curl请求高德地图数据不全怎么办 6、 iframe嵌入高德地图出现崩溃 H5调用腾讯,百度,高德地图导航例子:调用百度 调用其他地图思路是一样的
1、注册登录百度地图开放平台网页链接
2、选择对应的功能与服务,查看对应API接口及参数 使用场景介绍等等
3、创建应用【如果仅H5中使用 应用类型可选择浏览器端】
4、创建成功后 拿到应用AK去访问API获得数据
5、在页面中进行对数据处理
Docker PHP 入门实践(三)在本教程的其余部分,我们将基于 ThinkPHP 框架完成一个天气查询的应用。使用 天气查询-API文档-开发指南-Web服务 API | 高德地图API 的接口来实现我们的功能。把查询数据缓存到 MySql 中,这样就不用每次频繁的请求第三方的接口了(有请求次数限制)
选择高德开放平台-天气查询 API 主要是因为它是免费的。当然你也可以使用其他的第三方天气查询接口,看个人喜好。
该应用是一个非常简单的 REST API 应用,主要实现两个接口。
在我们进行应用编码之前,首先使用 Docker 安装并运行 ThinkPHP
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循 Apache2 开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售 。
这就是为什么我选择它作为本教程的教学框架。我不想让你因为一个框架而放弃,但我也不想从头开始建立所有的东西,因为该教程的重点是Docker,而不是我们的PHP应用。
用Docker 创建 ThinkPHP 应用 实际上比用本地配置PHP环境所需的操作少。并且为我们还需要使用 Composer,多亏了Docker,我们甚至不需要在主机上安装它。
首先打开你的终端,创建一个项目目录。
并进入到该目录中
现在使用[官方Composer Docker镜像]()安装 ThinkPHP 。
如果你查看weather-app/目录,你会看到 ThinkPHP 6 的项目目录,如下所示:
我们的 docker 运行命令与第二章中的命令相似,但我们使用了不同的镜像。我们没有使用运行hello.php 脚本的 PHP 镜像,而是使用了一个 Composer 镜像。让我们来看看有什么变化。
项目创建完成后,我们需要添加几个路由 URL 和 Controller 文件 。让我们打开 weather-app 目录下的 app/controller , 然后新建 Weather.php 文件,内容如下:
然后打开 weather-app 目录下的 app/route , 在 app.php 文件中追加如下内容:
现在我们可以在 Docker 容器中运行我们的应用程序,只是为了验证我们的程序是否运行正常,因为我们只添加了两个路由 URL。打开命令行,运行。
现在,在浏览器中打开 ,你应该看到一个空页面,上面有以下文字:
那么恭喜你,你刚刚已经成功地在 Docker 中运行了你的第一个 ThinkPHP 应用程序。
这次我们使用的docker run命令与我们用来运行 hello.php 脚本 和composer create-project ...的两个命令不同。原因是这次我们想获得包含 Apache 的最新版本的PHP,这样我们就可以为我们的 Web 应用提供服务。让我们更详细地了解新增的命令部分。
你可以通过向终端发送一个 "中断 "信号来停止和退出终端。在 windows 上,这可以通过按 Ctrl 和按c来实现。
运行你的新网络应用程序的另一个选择是在 "Detached"模式中运行容器。这意味着你在终端将不会看到来自你的容器的输出。这可以通过在我们之前的命令中添加-d标志来实现。
在分离模式下启动容器后,你的终端将显示新容器的完整ID--类似于a70d25c2a7cedae673f8ab...如果你想停止这个容器,你可以使用docker stop命令,用容器的ID告诉Docker。比如说
因为输入整个ID是很麻烦的,如果你愿意,Docker允许你只输入前三个或更多的字符。
最后,我建议为你的容器命名。我们在本书后面的许多例子中都会这样做,因为用名字来记住一个容器比用随机分配的ID要容易得多,再加上ID是随机的,所以每次你运行一个新版本的容器时,它都会得到一个新的ID。只要不是已经有一个同名的容器,名字就可以多次发出来。为了给我们的新应用容器命名,我们可以用传入的--name标志重新创建它。
在使用docker run命令时,还有许多可用的选项,所以你可能想更详细地阅读文档。在我们开发其余的应用程序时,我们会涉及其中的一些选项。
现在我们要引入高德的天气 SDK ,在使用该 SDK 之前你需要阅读高德开放平台-天气查询的技术文档,再添加 SDK 之前我们首先要确保所有现有的容器都停止了。
这个命令将列出所有正在运行的容器。你也可以通过添加-a标志来查看停止的容器。
如果有任何容器正在运行,那么在我们继续前进之前,使用docker stop 来停止它们。
该命令将在你的项目中装新的软件包。在这个过程中,你应该在终端看到一些类似这样的输出。
现在 SDK 已经安装完毕,可以使用了。
我们将使用刚刚添加的高德天气 SDK 来完善我们的业务逻辑,打开 controller 目录下的 Weather.php 添加以下内容:
我们做了一些更新--主要是对引入天气 API 初始化天气类
我们的应用程序已经初步完成了向API传递一个真实的位置ID并返回一些数据。首先,使用这个高德位置查询找到一个位置ID。我使用的是上海的ID进行测试。310000,当然你直接传 上海 也是可以的。ok,让我们再次运行Docker容器。
并在你的浏览器中访问正在运行的应用程序,地址是。你应该可以看到一个JSON数据,看起来像这样。
你的 Docker 化的 PHP 应用程序现在正从外部数据源返回真实数据,并在Apache中提供服务,但你可能会注意到,它的速度并不快(我的页面加载时间为1.92秒!)。
高德天气 API 是一个免费的服务,其他国家可能无法访问。为了解决这个问题,我们将把查询的数据保存在我们自己的 MySQL 数据库中,可以再下次访问的时候可以快速地响应。这将极大地提高性能,下个章节我们将学习如何用 Docker 将 MySql 与 PHP 应用程序相结合。
如何在openlayers中叠加高德地图,并且正确叠加WMS图层楼主好!您的问题较专业,非常抱歉小德帮不上忙,麻烦您到高德开发者社区提问,并说明您的平台是iOS,Android,WP~或者请您登录高德LBS开放平台()点击右下角在线咨询,会有技术来解答您的问题哦。
php 怎么用post方法获取高德地图poi数据亲,您点击高德地图PC地图 “开放平台”——点击下角绿色图标“FAQ”——选择对应的问题分类——找到自己遇到的问题——如果答案没有解决您的问题,点击提交“工单”即可
用php curl请求高德地图数据不全怎么办因为,PHP CURL库默认1024字节的长度不等待数据的返回,所以你那段代码需增加一项配置:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
给你一个更全面的封装方法:
function req_curl($url, $status = null, $options = array())
{
$res = '';
$options = array_merge(array(
'follow_local' => true,
'timeout' => 30,
'max_redirects' => 4,
'binary_transfer' => false,
'include_header' => false,
'no_body' => false,
'cookie_location' => dirname(__FILE__) . '/cookie',
'useragent' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1',
'post' => array() ,
'referer' => null,
'ssl_verifypeer' => 0,
'ssl_verifyhost' => 0,
'headers' => array(
'Expect:'
) ,
'auth_name' => '',
'auth_pass' => '',
'session' => false
) , $options);
$options['url'] = $url;
$s = curl_init();
if (!$s) return false;
curl_setopt($s, CURLOPT_URL, $options['url']);
curl_setopt($s, CURLOPT_HTTPHEADER, $options['headers']);
curl_setopt($s, CURLOPT_SSL_VERIFYPEER, $options['ssl_verifypeer']);
curl_setopt($s, CURLOPT_SSL_VERIFYHOST, $options['ssl_verifyhost']);
curl_setopt($s, CURLOPT_TIMEOUT, $options['timeout']);
curl_setopt($s, CURLOPT_MAXREDIRS, $options['max_redirects']);
curl_setopt($s, CURLOPT_RETURNTRANSFER, true);
curl_setopt($s, CURLOPT_FOLLOWLOCATION, $options['follow_local']);
curl_setopt($s, CURLOPT_COOKIEJAR, $options['cookie_location']);
curl_setopt($s, CURLOPT_COOKIEFILE, $options['cookie_location']);
if (!empty($options['auth_name']) is_string($options['auth_name']))
{
curl_setopt($s, CURLOPT_USERPWD, $options['auth_name'] . ':' . $options['auth_pass']);
}
if (!empty($options['post']))
{
curl_setopt($s, CURLOPT_POST, true);
curl_setopt($s, CURLOPT_POSTFIELDS, $options['post']);
//curl_setopt($s, CURLOPT_POSTFIELDS, array('username' => 'aeon', 'password' => '111111'));
}
if ($options['include_header'])
{
curl_setopt($s, CURLOPT_HEADER, true);
}
if ($options['no_body'])
{
curl_setopt($s, CURLOPT_NOBODY, true);
}
if ($options['session'])
{
curl_setopt($s, CURLOPT_COOKIESESSION, true);
curl_setopt($s, CURLOPT_COOKIE, $options['session']);
}
curl_setopt($s, CURLOPT_USERAGENT, $options['useragent']);
curl_setopt($s, CURLOPT_REFERER, $options['referer']);
$res = curl_exec($s);
$status = curl_getinfo($s, CURLINFO_HTTP_CODE);
curl_close($s);
return $res;
}
iframe嵌入高德地图出现崩溃android-studio
高德地图SDK在API 31以上崩溃的问题

firechun
原创
关注
7点赞·3074人阅读
以前在android app中使用地图时都是用的百度地图,新的项目需要使用高德地图。
按照高德地图的开发文档创建测试项目,导入依赖,很快就成功显示了地图,然后在退出地图Activity时,app立即崩溃,通过追踪,发现是在销毁地图时出现崩溃,即mapView.onDestroy()这行代码有问题。
反复查看文档和检查代码都找不到原因,下载高德地图SDK提供的DEMO测试时却发现,DEMO运行没有任何问题。比较DEMO和我的代码,显示地图的关键代码没有任何不同,实在不知道问题出在哪。
比较build.gradle时发现,DEMO的targetSdkVersion是26,我的targetSdkVersion是32,问题可能就出在这。百度到多个其他SDK在Android 11上崩溃的现象,可以通过在AndroidManifest.xml文件中加入android:allowNativeHeapPointerTagging="false"来解决,尝试在我的AndroidManifest.xml文件中也加入这一项,问题解决。
关于php嵌入高德的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php嵌入高德 如何用php做地图的详细内容...