美文网首页
高德地图选择位置然后生成静态地图

高德地图选择位置然后生成静态地图

作者: RocaLee | 来源:发表于2019-03-26 16:02 被阅读0次

    今天整理一个高德地图的小demo,下面的图是我实现的效果


    20190326_151321.gif

    我要的这个效果,既用到了web服务与web端的高德服务,需要先从高德地图的开发平台创建自己的应用,并增加相应的key。

    //引入js文件
    <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.12&key={$key}&plugin=AMap.Autocomplete,AMap.PlaceSearch"></script>
        <script type="text/javascript" src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
    
    //html
    <img class="addmap" src="__STATIC__/images/insert_location.png" onclick="addMap()">
    <div id="hid_map" class="tag" style="display: none;">
            <span class="span"><em class="em"></em></span>
            <div id="myPageTop">
                <input id="tipinput" placeholder="请输入地名" />
                <input type="hidden" name="address" value="" id="address">
                <input type="hidden" name="name" value="" id="name">
                <input type="hidden" name="latitude" value="" id="latitude">
                <input type="hidden" name="longitude" value="" id="longitude">
                <span class="close" onclick="closeMap()"></span>       
            </div>
            <div id="container"></div>
            <a id="rocaAdd" onclick="rocaAdd()">插入</a>
        </div>
    
    //js
    function addMap(){
                $("#hid_map").show();
            $('#tipinput').val('');
                //地图加载
            var map = new AMap.Map("container", {
                resizeEnable: true
            });
            //输入提示
            var autoOptions = {
                input: "tipinput"
            };
            var auto = new AMap.Autocomplete(autoOptions);
            var placeSearch = new AMap.PlaceSearch({
                map: map
            });  //构造地点查询类
            AMap.event.addListener(auto, "select", select);//注册监听,当选中某条记录时会触发
            function select(e) {
                AMap.event.addListener(placeSearch, "markerClick",markerClick_CallBack);
                placeSearch.setCity(e.poi.adcode);
                placeSearch.search(e.poi.name);  //关键字查询查询
            }
    }
    //关闭地图
        function closeMap(){
            $("#hid_map").hide();
        }
    //marker点击事件
    function markerClick_CallBack(data){
            //name
            var name = data.data.name;
            //address
            var address = data.data.cityname+data.data.adname+data.data.address;
            //经度
            var latitude = data.data.location.lat;
            //纬度
            var longitude = data.data.location.lng;
            $('#address').val(address);
            $('#name').val(name);
            $('#latitude').val(latitude);
            $('#longitude').val(longitude);
        }
    //生成静态地图
        function rocaAdd(){
            var name = $('#name').val();
            //address
            var address = $('#address').val();
            //经度
            var latitude = $('#latitude').val();
            //纬度
            var longitude = $('#longitude').val();
            if(name=="" || address=="" || latitude=="" || longitude==""){
                alert('请选择位置');         
            }
            var src = "https://restapi.amap.com/v3/staticmap?key={$key_image}&location="+longitude+","+latitude+"&zoom=19&size=264*92&markers=mid,0xFF0000,A:"+longitude+","+latitude;
            $("#all_content .textarea").each(function(){
                if($(this).text() == ""){
                    //$(this).attr("class","hid");
                    $(this).hide();
                }
            });
            var map = 
            "<div id='"+mapId+"' onclick='del("+mapId+",1)' class='map_image'>"+
                "<div class='map_name'>"+name+"</div>"+
                "<img src='"+src+"' width='264' height='92'>"+
                "<div class='map_icon'><img src='__STATIC__/images/map_logo.png'><span>地图</span></div>"+
            "</div>";
            $("#all_content").append(map);
            $("#all_content").append('<div class="textarea" contenteditable="true" placeholder="点此输入正文"></div>');
            $("#hid_map").hide();
        }
    

    相关文章

      网友评论

          本文标题:高德地图选择位置然后生成静态地图

          本文链接:https://www.haomeiwen.com/subject/rhpgvqtx.html