网站使用腾讯地图标注公司位置代码 免费又好用

[复制链接]
查看24 | 回复0 | 前天 13:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
作为一名企业官网开发者,最近在给公司官网添加「企业地址地图展示」功能时,踩了一个不小的坑 —— 百度地图商用授权的费用远超预期,最终转而使用腾讯地图,不仅免费满足了需求,还实现了更精准的定位展示。今天就来和大家聊聊地图服务的选择,以及腾讯地图的实操干货。
步骤 1: 申请腾讯地图开发者 Key(免费)
访问腾讯地图开放平台:
腾讯位置服务 - 立足生态,连接未来
  注册并登录开发者账号,进入「控制台」-「我的应用」-「创建应用」,填写应用名称(如「企业官网地图」),应用类型选择「网站应用」。
应用创建完成后,点击「添加 Key」,选择「WebService API」或「JavaScript GL API」(根据需求选择,本文使用 JavaScript GL API),填写网站域名白名单(测试阶段可填*,上线后填写精准域名,避免 Key 被滥用)。
提交后即可获取免费的开发者 Key,该 Key 可直接用于企业官网的地图展示,无需额外付费。
2345截图20260622134141.jpg


步骤 2: 用官方工具拾取精准坐标(重点推荐)
很多开发者都会遇到「坐标不准」的问题,腾讯地图的官方坐标拾取工具完美解决了这个痛点,工具地址:https://lbs.qq.com/getPoint/
打开工具后,可直接在搜索框输入企业详细地址(如「江苏省苏州市阳阳得意电脑服务区」),点击搜索,地图会自动定位到目标地址。
拖动地图上的红色标记,微调至精准的门牌号位置(如需更精准,可放大地图至 19 级)。工具下方会自动生成对应的经纬度坐标(格式:纬度, 经度),直接复制即可,无需担心坐标系差异(腾讯地图使用自有坐标系,拾取的坐标可直接用于 API 集成,无需转换)。
小技巧:拾取坐标后,可点击「验证坐标」,确认地址是否准确,避免集成后出现定位偏差。
2345截图20260622134652.jpg
记住上图右上方显示的坐标值即可。

步骤 3: 集成腾讯地图到企业官网(完整代码)
腾讯地图的集成非常简单,只需引入官方 JS 文件,再编写少量初始化代码即可,以下是完整的可复用代码(已包含企业 LOGO、信息窗口、点击交互等功能):
  1. <!-- 地图容器:设置宽高,适配官网布局 放在需要展示的位置-->
  2. <div id="tencent-map" style="width: 100%; height: 450px;"></div>

  3. <!-- 引入腾讯地图 GL JS 1.7(替换为你自己的开发者Key) -->
  4. <script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.7&key=你的腾讯地图开发者Key"></script>
  5. <script>
  6. // 确保页面资源加载完成后执行,避免API加载异常
  7. window.addEventListener('load', function () {
  8.   // 检查腾讯地图API是否加载成功
  9. if (typeof TMap === 'undefined') {
  10.     console.error('TMap API 加载失败,请检查网络或Key是否有效');
  11. return;
  12. }

  13.   // 从腾讯地图坐标拾取工具获取的精准坐标(纬度在前,经度在后)
  14.   const targetLat = 30.820074;
  15.   const targetLng = 104.190504;

  16.   // 1. 初始化地图实例
  17.   const map = new TMap.Map("tencent-map", {
  18.     center: new TMap.LatLng(targetLat, targetLng), // 地图中心点坐标
  19.     zoom: 19, // 缩放级别(19级最精准,可根据需求调整18-20)
  20.     pitch: 0, // 地图倾斜角度,0为平面地图
  21.     rotation: 0, // 地图旋转角度,0为正方向
  22.     showControl: true // 显示地图默认控制栏(缩放、视角切换)
  23. });

  24.   // 2. 添加企业地址标记
  25.   const markerLayer = new TMap.MultiMarker({
  26.     map: map,
  27.     geometries: [{
  28.       id: 'company-marker',
  29.       position: new TMap.LatLng(targetLat, targetLng), // 标记坐标与地图中心一致
  30.       icon: "https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/marker-default.png" // 默认标记图标
  31. }]
  32. });

  33.   // 3. 构建信息窗口(包含企业LOGO、电话、地址,优化样式)
  34.   const infoContent = `
  35. <div style="min-width: 280px; padding: 12px; background: #fff; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">
  36. <div style="text-align: center; margin-bottom: 8px;">
  37. <img src="网站LOGO文件地址"
  38.          style="width: 80px; height: 80px; object-fit: contain; border-radius: 4px; display: inline-block;"
  39.          alt="公司LOGO"
  40.          onerror="this.src='https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/marker-default.png'; this.style.width='40px'; this.style.height='40px';">
  41. </div>
  42. <div style="color: #CC5522; font-size: 14px; font-weight: bold; margin-bottom: 6px; text-align: center;">阳阳得意电脑服务区</div>
  43. <div style="font-size: 13px; line-height: 1.6; color: #333; text-align: left;">
  44.     电话:18088888888<br>
  45.     地址:江苏省苏州市工业园区唯亭街道XX大厦1818
  46. </div>
  47. </div>
  48.   `;

  49.   // 4. 初始化并打开信息窗口
  50.   const infoWindow = new TMap.InfoWindow({
  51.     map: map,
  52.     position: new TMap.LatLng(targetLat, targetLng),
  53.     content: infoContent,
  54.     offset: { x: 0, y: -32 } // 向上偏移,避免遮挡标记
  55. });
  56.   infoWindow.open();

  57.   // 5. 绑定标记点击事件,点击重新打开信息窗口
  58.   markerLayer.on('click', function (event) {
  59.     infoWindow.setPosition(event.geometry.position);
  60.     infoWindow.open();
  61. });
  62. });
  63. </script>
复制代码
步骤 4: 替换代码中的「你的腾讯地图开发者 Key」为自己申请的有效 Key。以及其他的和公司信息有关的内容


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则