JS高德地图应用 ---- 鼠标点击加入标记 & POI搜索

代码如下 (填入Key值) :

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>高德地图</title>
    <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
    <script type="text/javascript"
            src="http://webapi.amap.com/maps?v=1.4.8&key=申请的key值&plugin=AMap.Autocomplete,AMap.PlaceSearch"></script>
    <script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>

    <script type="text/javascript">
        window.onload = function () {

            //定义初始经纬度
            var mylgt = "120.185954";
            var mylat = "30.11235";

            //地图加载
            var map = new AMap.Map("container", {
                zoom: 15,    //地图缩放级别
                resizeEnable: true,
                center: [mylgt, mylat]
            });

            //定义一个标记
            var marker = new AMap.Marker({
                icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
                position: [mylgt, mylat]
            });

            //添加标记
            marker.setMap(map);

            //为地图注册click事件获取鼠标点击出的经纬度坐标
            var clickEventListener = map.on(‘click‘, function (e) {
                document.getElementById("lnglat").value = e.lnglat.getLng() + ‘,‘ + e.lnglat.getLat();

                //清空标记
                if (marker) {
                    marker.setMap(null);
                    marker = null;
                }

                //重设标记
                marker = new AMap.Marker({
                    icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
                    position: [e.lnglat.getLng(), e.lnglat.getLat()]
                });
                marker.setMap(map);
            });

            //输入地点提示
            var auto = new AMap.Autocomplete({
                input: "tipinput"
            });

            //构造地点查询类
            var placeSearch = new AMap.PlaceSearch({
                map: map
            });

            //注册监听,当选中某条记录时会触发
            AMap.event.addListener(auto, "select", select);

            function select(e) {
                placeSearch.setCity(e.poi.adcode);
                placeSearch.search(e.poi.name);  //关键字查询查询
            }
        }
    </script>
</head>
<body>
<div id="container"></div>
<div id="myPageTop">
    <table>
        <tr>
            <td>
                <label>按关键字搜索:</label>
            </td>
            <td>
                <label>左击获取经纬度:</label>
            </td>
        </tr>
        <tr>
            <td>
                <input type="text" placeholder="请输入关键字进行搜索" id="tipinput">
            </td>
            <td>
                <input type="text" readonly="true" id="lnglat">
            </td>
        </tr>
    </table>
</div>

</body>
</html>

步骤说明 :

1. 在高德地图开放平台中申请Key

2. 创建Html文件,添加引用资源 ( plugin=AMap.Autocomplete,AMap.PlaceSearch 中 AMap.Autocomplete -> 输入提示插件 , AMap.PlaceSearchPOI -> 搜索插件 )

<link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.8&key=e0fa91db4ad26b3c627452db308f570e&plugin=AMap.Autocomplete,AMap.PlaceSearch"></script>
<script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>

3. 编写地图div与相应显示栏

<div id="container"></div>
<div id="myPageTop">
    <table>
        <tr>
            <td>
                <label>按关键字搜索:</label>
            </td>
            <td>
                <label>左击获取经纬度:</label>
            </td>
        </tr>
        <tr>
            <td>
                <input type="text" placeholder="请输入关键字进行搜索" id="tipinput">
            </td>
            <td>
                <input type="text" readonly="true" id="lnglat">
            </td>
        </tr>
    </table>
</div>

4. 为页面添加对应功能的JS代码

<script type="text/javascript">    window.onload = function () {

//定义初始经纬度        var mylgt = "120.185954";        var mylat = "30.11235";

//地图加载        var map = new AMap.Map("container", {            zoom: 15,    //地图缩放级别            resizeEnable: true,            center: [mylgt, mylat]        });

//定义一个标记        var marker = new AMap.Marker({            icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",            position: [mylgt, mylat]        });

//添加标记        marker.setMap(map);

//为地图注册click事件获取鼠标点击出的经纬度坐标        var clickEventListener = map.on(‘click‘, function (e) {            document.getElementById("lnglat").value = e.lnglat.getLng() + ‘,‘ + e.lnglat.getLat();

//清空标记            if (marker) {                marker.setMap(null);                marker = null;            }

//重设标记            marker = new AMap.Marker({                icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",                position: [e.lnglat.getLng(), e.lnglat.getLat()]            });            marker.setMap(map);        });

//输入地点提示        var auto = new AMap.Autocomplete({            input: "tipinput"        });

//构造地点查询类        var placeSearch = new AMap.PlaceSearch({            map: map        });

//注册监听,当选中某条记录时会触发        AMap.event.addListener(auto, "select", select);

function select(e) {            placeSearch.setCity(e.poi.adcode);            placeSearch.search(e.poi.name);  //关键字查询查询        }    }</script>

原文地址:https://www.cnblogs.com/Jervisking/p/9409508.html

时间: 2024-10-18 05:41:55

JS高德地图应用 ---- 鼠标点击加入标记 & POI搜索的相关文章

原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间

原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org

JS高德地图计算两地之间的实际距离

这个是通过导航的方式来获取两地之间的实际距离,和消耗的时间(key值自己去申请哈) <!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content=&qu

百度地图Api进阶教程-用户自定义数据(标记和搜索)7.html

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> body, html,#allmap {width: 100%;height: 100%;overflow: hidden;} #l-map{

工作当中实际运用(3)——js原生实现鼠标点击弹出div层 在点击隐藏

function onmou(){ var divs=document.getElementById('kefuDV');//获取到你要操作的div if (divs.style.display=="none") {//下面就简单了 不一一赘述了 divs.style.display="block" }else{ divs.style.display="none" } } js原生代码实现 鼠标点击 弹出 隐藏 div隐藏

JS 百度地图导航

上一篇文章中我们就简单的学习了HTML5 地理定位,那么今天告诉大家我在项目中遇到的一个问题吧,就是怎么实现点击一个按钮就可以调到百度地图,并且获取到你当前的位置,并且导航到指定的地方去. 不想看步骤的可以直接下载DEMO 下载 一.获取目的地坐标 打开百度地图API 鼠标点击拾取坐标网页,http://api.map.baidu.com/lbsapi/getpoint/index.html,通过先缩小再放大,定位到拾取坐标的建筑物. 以北京的朝阳公园为例,定位如下: 鼠标点击的位置就是朝阳公园

鼠标点击出现爱心+社会主义价值观+随机颜色的文字+鼠标cursor自定义图片

js动画--鼠标点击出现爱心 只需将如下JS代码放到</body>之前就好了 <script type='text/javascript' src='//api.dujin.org/js/aixintexiao.js'></script> 完整代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <

Android studio 百度地图开发(8)地图已标记POI点和搜索POI点的获取和利用

一简要描述 二地图中已标记POI点 1接口 2MapPoi 类 3获取POI 三搜索关键词获取POI点 描述 1combaidumapapisearchpoi 接口OnGetPoiSearchResultListener PoiResult类 PoiInfo类 搜索POI 2combaidumapapisearchsug 接口 SuggestionResultseggestionInfo 联想搜索 四搜索效果 1联想搜索效果 2直接搜索效果 3选择一条联想搜索结果 五总结 一.简要描述 百度地图

【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨

摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装的一系列更加便于开发者使用,减少开发者工作量的二级API接口.除了官方通用的鱼骨.鹰眼控件,还有大量官方开发的地图插件,类似谷歌的lib.当然本文还会介绍自定义插件的使用. ------------------------------------------------------------------------------------------------- 第一部分 控件 目前官方支持的控件包含:缩放控制条-地图

【API】高德地图API JS实现获取坐标和回显点标记

1.搜索+选择+获取经纬度和详细地址 2.回显数据并点标记 3.实现 第一步:引入资源文件 <!--引入高德地图JSAPI --><script src="//webapi.amap.com/maps?v=1.3&key=在官网申请一个key"></script><!--引入UI组件库(1.0版本) --><script src="//webapi.amap.com/ui/1.0/main.js">