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

今天整理一个高德地图的小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();
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 前几天给家里打电话,和妈聊聊最近情况,顺便向她报一下平安。妈说我爸已经回来收麦子了,现在地里也播上了玉米种子。我听...
    九二钰枫阅读 400评论 0 1
  • 今天早上睁开眼的第一件事,就是摸出手机给妈妈发一句:“妈,节日快乐。” 说来有些愧疚,长大之后,我说这句话的次数还...
    大熊小太阳阅读 382评论 2 3
  • 1.打开Xcode SourceControl ----Clone 2.输入服务器地址 4.验证成功后弹框...
    zhaihongxia阅读 1,713评论 0 0