账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    腾讯地图 选点组件无法显示地点列表
    55
    0
    <html>
    
    <head lang="zh-CN">
      <meta charset="UTF-8">
      <meta name="viewport"
        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
      <meta name="mobile-web-app-capable" content="yes">
      <meta name="apple-mobile-web-app-capable" content="yes">
      <meta name="apple-mobile-web-app-status-bar-style" content="black">
      <meta name="format-detection" content="address=no">
      <script type="text/javascript" src="//3gimg.qq.com/lightmap/components/locationPicker2/js/main-62c2e3b971.js">
      </script>
      <title>locationPicker Components Demo - iframe</title>
      <style>
        * {
          margin: 0;
          padding: 0;
        }
    
        body,
        html {
          overflow: hidden;
        }
      </style>
      <script>
        //iframe页面调用方法
        $(function () {
    
          adaptHeight(); //动态适配高度
    
          window.onresize = function () { //横屏、QQ浏览器变全屏模式下的时候,需要重新计算高度              
            adaptHeight();
          }
    
          window.addEventListener('message', function (event) {
            var loc = event.data;
            alert('你使用的组件是' + loc.module + ',刚选择了' + loc.poiname + ',它位于' + loc.poiaddress + ',它的经纬度是:' + loc.latlng
              .lat + ',' + loc.latlng.lng + ',所属城市为:' + loc.cityname)
          }, false);
    
          function adaptHeight() {
            var winH = $(window).height();
            var bodyH = document.documentElement.clientHeight;
            if (winH > bodyH) {
              window.parent.document.getElementById("iframe").height = winH;
            } else {
              window.parent.document.getElementById("iframe").height = bodyH;
            }
          }
        });
      </script>
    </head>
    
    <body>
      <!-- 通过 iframe 嵌入地图选点组件 -->
      <iframe id="iframe" width="100%" frameborder="0" scrolling="no"
        src="//apis.map.qq.com/tools/locpicker?search=1&type=1&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77&referer=myapp"
        height="737">
        <!-- OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77 -->
      </iframe>
    </body>
    
    </html>

    问题是这样的,这个key是官方的key,代码也是官方的,这个时候demo是成功的,但是换成我自己申请的key就不成功,我试过其他地图组件,是没有问题的,而且申请key的时候,地图组件的权限是默认勾选,无法取消

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 一生孤注 普通会员 1楼

      腾讯地图的选点组件是一种用于创建地图点的组件,但是如果在使用过程中无法显示地点列表,可能有以下几种原因:

      1. 地点列表数据没有被正确加载:首先,确保你的地图点数据已经加载到地图服务器上。你可以通过调用腾讯地图的getPoints方法获取点数据,这个方法返回一个包含地点列表的对象。如果这个方法返回的不是你期望的格式,或者包含的地点数量与你配置的点数据不符,那么地点列表可能无法正确显示。

      javascript var points = await map.getPoints({ url: 'your_map_url', data: { locations: ['地点1', '地点2', '地点3', ...] } });

      1. 地图点数据格式不正确:腾讯地图支持多种点数据格式,如OpenStreetMap、Mapbox、tileserver等。如果你使用的点数据格式与腾讯地图支持的不兼容,那么地点列表可能无法正确显示。

      javascript var points = await map.getPoints({ url: 'your_map_url', data: { locations: { format: 'your_map_format', formatOptions: { attribution: 'OpenStreetMap © OpenStreetMap contributors' } } } });

      1. 地图点位置不在地图范围内:如果你的点数据中包含的位置不在地图范围内,那么地点列表也无法显示。你可以通过调用腾讯地图的getMap方法获取当前地图的范围,然后使用getPoints方法获取符合范围的点数据。

      javascript var map = await map.getMap(); var points = await map.getPoints({ url: 'your_map_url', data: { locations: { minZoom: 10, maxZoom: 20, maxBounds: { lat: 37.7749, lng: -122.4194 } } } });

      1. 腾讯地图组件配置问题:腾讯地图提供了多种组件和配置选项,如缩放级别、地名显示、显示距离等。如果这些配置没有正确设置,可能会导致地点列表无法正确显示。你可以检查腾讯地图的组件配置文档,了解每个组件的配置参数和默认值,然后根据自己的需求进行调整。

      2. 腾讯地图服务端错误:如果你在请求地图点数据时,腾讯地图服务器出现错误,例如服务器返回的地点数据格式不正确、请求超时、服务端错误等,那么地点列表也无法正常显示。你应该检查腾讯地图服务端的错误日志,了解服务器返回的错误信息,并根据错误信息进行修复。

      3. 网络连接问题:如果你的浏览器或设备无法连接到腾讯地图服务端,那么地点列表也无法正常显示。你可以检查网络连接是否正常,如网络速度、网络带宽等,然后尝试刷新页面或重新请求地图点数据。

      4. 腾讯地图版本问题:腾讯地图可能在某些情况下提供旧版本的地点列表组件,这些版本可能无法正确显示新版本的地点数据。你可以尝试升级到最新版本的腾讯地图,或者检查腾讯地图的更新日志,了解是否有新的地点数据支持。

      以上都是一些可能的原因,具体原因可能需要根据你的实际场景和腾讯地图的配置来确定。如果以上方法都无法解决问题,可能需要寻求腾讯地图的技术支持或社区的帮助。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部