• 高德地图的一些使用心得


    高德地图是使用比较广的地图api,给开发者提供了调用api的实例和模板。

    要使用高德地图,首先需要申请成为高德地图开发者,因为需要用到高德的key。

    支持的开发端比较广

    现在介绍一下js端的开发

    首先是显示地图

    很简单的

    先加载高德的js文件

        <link rel="stylesheet" href="https://cache.amap.com/lbs/static/main.css"/>
        <script type="text/javascript"
                src="https://webapi.amap.com/maps?v=1.4.1&key={{ key }}"></script>
        <script type="text/javascript" src="https://webapi.amap.com/demos/js/liteToolbar.js"></script>

    然后就可以开始在写js了

    要显示地图需要一个div元素来展示

    <div id="mapContainer"></div>

    然后在js里面添加以下代码

            var map = new AMap.Map("mapContainer", {
                resizeEnable:true,
                center: [120.155070,30.274084],
                zoom: 13,
            });

    mapContainer是展示地图的div的id,

    resizeEnable就是是否可以调整地图大小

    center是指地图的中心点的经纬度

    zoom是指地图的层级

    下面介绍下常用的插件

    输入提示,搜索,以及经纬度查询

    AMap.plugin(["AMap.Autocomplete","AMap.PlaceSearch", "AMap.Geocoder"], function(){
                placeSearch = new AMap.PlaceSearch({
                    city: "杭州",
                    map: map,
                    pageSize: 1,
                    pageIndex: 1,
                });
                geocoder = new AMap.Geocoder({
                    city: "",
                })
                var autoOptions = {
                    city: "杭州",
                    input: "work-location"
                };
                autocomplete = new AMap.Autocomplete(autoOptions);
                AMap.event.addListener(autocomplete, "select", function(e){
                    placeSearch.search(e.poi.name,function(status, result){
                    });
                });
            });
    Autocomplete是输入提示插件
    只需要构造一个包含city城市和input(输入框id)的字典,作为参数传给AMap.Autocomplete
    详情见http://lbs.amap.com/api/javascript-api/guide/map-data/input_prompt
    PlaceSearch是搜索插件
    只需要构造一个包含city和map(地图)的字典,作为参数传给AMap.PlaceSearch
    常用的方法有search和searchNearBy,搜索关键词和搜索周边
    详情见http://lbs.amap.com/api/javascript-api/guide/map-data/search
    Geocoder是经纬度查询插件
    构造一个包含city的字典,作为参数传给AMap.Geocoder
    常用的方法有getAddress,getLocation分别用来用经纬度获取地址和地址获取经纬度
    详情见http://lbs.amap.com/api/javascript-api/guide/map-data/geocoding
    接着说下创建点标记
                                    var marker = new AMap.Marker({
                                        map: map,
                                        title: name,
                                        position: location,
                                    })
                                    rentalMarkers.push(marker);
                                    var label = new AMap.Marker({
                                        map: map,
                                        title: name,
                                        content: html,
                                        position: location,
                                        offset: new AMap.Pixel(-12,-12),
                                    })
                                    rentalLabels.push(label);

    marker就是一个点标记,label是其对应的标注

    最后要提到的是
    点标记如何删除
    如果是我们自己创建的点标记
    可以使用map.remove(markers)删除
    markers可以是一个点标记元素也可以是一个包含点标记元素的数组
    如果是高德搜索周边得到的点标记就稍微麻烦一点
                if(nearbySearch){
                    nearbySearch.clear();
                    if(nearbySearch.render){
                        nearbySearch.render.markerList.clear();
                    }
                }

    nearbySearch是一个PlaceSearch对象

    clear方法删除外圈的圆,接着是清空所有的nearbySearch中的点标记

  • 相关阅读:
    Jungle Roads POJ 1251
    Light OJ 1234 Harmonic Number
    同余定理
    HDU---1052---田忌赛马
    田忌赛马---空手道俱乐部
    poj---1182---食物链
    Convenient Location(最短路之弗洛伊德)
    js动画实现透明度动画
    js动画实现侧边栏分享
    AngularJS 指令(使浏览器认识自己定义的标签)
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/8867576.html
Copyright © 2020-2023  润新知