IWoTke 2022-08-11 15:34 采纳率: 93.5%
浏览 54
已结题

关于#高德地图#的问题,如何解决?(语言-javascript)

使用高德地图输入提示和POI搜索插件选中值以后出现10标识点,要如何选中值后只显示选中的标识点(如图1),图2是我按照官方案例做的,它会把所有搜索到的地点标识都显示出来。
图1:

img


图2:

img

  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2022-08-11 16:22
    关注

    用下面的可以,但是需要手动添加点,然后信息窗口也要自己加才行

    
    <!doctype html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
        <title>输入提示后查询</title>
        <link rel="stylesheet" href="https://cache.amap.com/lbs/static/main1119.css" />
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=key"></script>
    </head>
    <body>
        <div id="container"></div>
        <div id="myPageTop">
            <table>
                <tr>
                    <td>
                        <label>请输入关键字:</label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input id="tipinput" />
                    </td>
                </tr>
            </table>
        </div>
        <script type="text/javascript">
            //地图加载
            var map = new AMap.Map("container", {
                resizeEnable: true
            });
            //输入提示
            var autoOptions = {
                input: "tipinput"
            };
    
            AMap.plugin(['AMap.PlaceSearch', 'AMap.AutoComplete'], function () {
                var auto = new AMap.AutoComplete(autoOptions);
                var placeSearch = new AMap.PlaceSearch({
                    map: map
                });  //构造地点查询类
                auto.on("select", select);//注册监听,当选中某条记录时会触发
                function select(e) {
                    placeSearch.setCity(e.poi.adcode);
                    placeSearch.search(e.poi.name, function (status, result) {
                        var point = result.poiList.pois[0];//获取第一个返回的结果
                        if (point) {
                            map.clearMap();//清除添加的多个点标记
                            var marker = new AMap.Marker({
                                icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
                                position: [point.location.lng, point.location.lat]
                            });
                            map.add(marker);
                        }
                    });
                }
            });
        </script>
    </body>
    </html>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月19日
  • 已采纳回答 8月11日
  • 创建了问题 8月11日

悬赏问题

  • ¥15 关于#vscode#的问题:ESP32开发板对接MQTT实现小灯泡的开关
  • ¥15 TMC2209串口模式下读取不到寄存器的值串口助手蓝色字体是发过去的消息,绿色字体是收到的消息,第二行发送读取寄存器的指令但是没有读取到寄存器的值串口助手如下图:接线如下图,如何解决?
  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏