• 高德地图调用和添加标注


    看过高德地图API的同学都知道,高德地图不同端调用是不一样的,作为一个前端菜鸟,前一阵分别在pc端和移动端分别调用了高德地图。情况是这个样子的,PC端呢我们可以用高德API的web端的javascript代码。调用没有问题,具体是这样的:

    <!DOCTYPE html>

    <html lang="en">

    <head>

        <meta charset="UTF-8">

        <title>Title</title>

    </head>

    <body>

    <div class="_map" id="container" tabindex="0"></div>  //放地图的盒子(自定义一定大小的)

    <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=你自己申请的KEY值"></script>

    <script >

      

    //调取高德地图,根据经纬度定位

    var map = new AMap.Map('container',{  //初始化地图

        resizeEnable: true,

        zoom: 10,  //缩放比例

        center: [116.397428, 39.90923],  //你要打标注的点的位置

        mapStyle:'amap://styles/d6bf8c1d69cea9f5c696185ad4ac4c86'

    });

    map.plugin(["AMap.ToolBar"], function() { //地图工具栏,可滑动设置缩放比例

        map.addControl(new AMap.ToolBar());

    });

    //添加标注

    function addMarker(j,w){

        marker = new AMap.Marker({

            icon:new AMap.Icon({

                image: "img/pcdt.png",  //自己做的一个标注图!!

                size: new AMap.Size(23, 29),  //图标大小

                imageSize: new AMap.Size(23,29)

            }),

            position:new AMap.LngLat(j,w) //标注位置(经纬度)

        });

        marker.setMap(map);  //在地图上添加点

        //鼠标点击marker弹出自定义的信息窗体

        AMap.event.addListener(marker, 'click', function() {

            infoWindow.open(map, marker.getPosition());

        });

    }

     addMarker(116.397428, 39.90923);   //实例化

    //!!!!!!以下是添加更多详尽信息。。(还有更多,请看高德API)

    // // addMarker(116, 39);

    // //添加窗体信息

    // //实例化信息窗体

    // var content = [];

    // content.push("地址:北京市朝阳区阜通东大街6号院3号楼东北8.3公里");

    // var infoWindow = new AMap.InfoWindow({

    //     isCustom: true,  //使用自定义窗体

    //     content: createInfoWindow(content.join("<br/>")),

    //     offset: new AMap.Pixel(110, -5)

    // });

    //

    // //构建自定义信息窗体

    // function createInfoWindow( content) {

    //     var info = document.createElement("div");

    //     info.className = "info";

    //     // 定义中部内容

    //     var middle = document.createElement("div");

    //     middle.className = "info-middle";

    //     middle.style.backgroundColor = 'white';

    //     middle.innerHTML = content;

    //     info.appendChild(middle);

    //

    //     // // // // 定义底部内容

    //     var bottom = document.createElement("div");

    //     bottom.className = "info-bottom";

    //     bottom.style.position = 'relative';

    //     bottom.style.top = '0px';

    //     bottom.style.margin = '0 auto';

    //     var sharp = document.createElement("img");

    //     sharp.src = "https://webapi.amap.com/images/sharp.png";

    //     bottom.appendChild(sharp);

    //     info.appendChild(bottom);

    //     return info;

    // }

    </script>

    </body>

    </html>

    记得要自己申请key值才可以。

    移动端呢,其实调用高德地图是十分有限制的,首先要确保用户手机安装了高德地图的软件(一般人都会安装地图,百度或高德,我想应该是可以获取手机信息判断有哪个地图软件再去调用!),如果没有调用也看不到啊,其次移动端的调用前端也只能实现到地图的展示打点了,因为高德地图API说的很清楚,后端的java或者oc给了接口,前端的小伙伴可谓是有心无力啦,希望不久的将来前端可以自由调用吧。

  • 相关阅读:
    老王讲架构:负载均衡
    支付宝系统架构内部剖析
    Effective Java 第三版——61. 基本类型优于装箱的基本类型
    Effective Java 第三版——60. 需要精确的结果时避免使用float和double类型
    Effective Java 第三版——59. 熟悉并使用Java类库
    Effective Java 第三版——58. for-each循环优于传统for循环
    Effective Java 第三版——57. 最小化局部变量的作用域
    Effective Java 第三版——56. 为所有已公开的API元素编写文档注释
    Effective Java 第三版——55. 明智而审慎地返回Optional
    Effective Java 第三版——54. 返回空的数组或集合不要返回null
  • 原文地址:https://www.cnblogs.com/lichunjing/p/7060093.html
Copyright © 2020-2023  润新知