要在php网站中展示具体位置并提供导航功能,必须将地图服务嵌入前端页面,后端php仅负责准备地理数据、签名计算或反向地理编码等辅助任务,不能直接渲染地图;需在高德开放平台注册账号、创建应用并绑定域名获取key;在html中按规范加载js api;用php输出位置json数据至前端;最后初始化地图、添加标注并实现跳转高德导航。

要在PHP网站中展示具体位置并提供导航功能,必须将地图服务嵌入前端页面,后端PHP仅负责准备地理数据、签名计算或反向地理编码等辅助任务,不能直接渲染地图。
获取高德地图API密钥与启用服务
访问 https://console.amap.com 注册开发者账号,完成实名认证;在「应用管理→我的应用」中创建新应用,勾选「JavaScript API」「Web服务API」两项服务;生成的 【Key】 必须绑定合法域名(如 example.com),localhost 和 127.0.0.1 默认允许,但部署到服务器后未绑定域名会导致地图白屏且无报错提示。
复制生成的 Key,保存备用。
在HTML页面中加载高德地图JS API
在需展示地图的 PHP 模板文件(如 map.php)中,【必须在 内部靠前位置】 插入以下 script 标签:
<script src="https://webapi.amap.com/maps?v=2.0&key=%E4%BD%A0%E7%9A%84Key"></script>
注意:v=2.0 表示使用新版 JS API;key 参数值不可拼错或漏空格;该标签不能放在
中且延迟加载,否则 initMap() 调用会因 AMap 未定义而报错。用PHP准备位置数据并传给前端
方法一:直接输出 JSON 数据到内联 script
在 map.php 中 PHP 区块里写:
$location = ['name' => '北京南站', 'lng' => 116.383459, 'lat' => 39.86502];
$json_data = json_encode($location, JSON_UNESCAPED_UNICODE);
?>
<script><br> const placeData = <?php echo $json_data; ?>;<br></script>
方法二:通过 AJAX 异步获取(适合多点动态加载)
新建 api/get-place.php,内容为:
header('Content-Type: application/json; charset=utf-8');
$data = ['name' => '杭州西湖', 'lng' => 120.130823, 'lat' => 30.246242];
echo json_encode($data, JSON_UNESCAPED_UNICODE);
?>
前端用 fetch('/api/get-place.php') 获取,响应必须是合法 JSON,且 header 不可遗漏,否则 jQuery.ajax 或原生 fetch 会解析失败。
初始化地图并标注位置
第一步:在页面底部添加容器与初始化脚本
<script><br> let map, marker;<br> function initMap() {<br> map = new AMap.Map('map-container', {<br> zoom: 14,<br> center: [placeData.lng, placeData.lat]<br> });<br> marker = new AMap.Marker({<br> position: [placeData.lng, placeData.lat],<br> map: map,<br> label: {content: placeData.name, direction: 'right'}<br> });<br> }<br> AMap.event.addListener(map, 'load', initMap);<br></script>
第二步:确保 initMap 在地图容器渲染后执行
上面代码依赖 DOM 元素存在,所以 script 必须放在容器
第三步:调用导航功能
在页面中添加按钮:
对应 JS 函数:
function startNavigation() {
const url = `https://uri.amap.com/navigation?from=我的位置&to=${placeData.name}&to_lnglat=${placeData.lng},${placeData.lat}`;
window.open(url, '_blank');
}
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











