IWoTke 2022-08-11 15:34 采纳率: 96.7%
浏览 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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵