自己学习js的时间不是很久,说懂也懂说不懂也不懂,只能一步一步的来,不懂的直接百度。

今天因为需要调用百度地图,网上查了下,都是一个网站弄好配置然后iframe!是的网上很多教程都是这样,我觉得这样的缺点太大了。自己弄了些发现在chrome下打不开,被拦截原因是js出来问题。所以我总结下百度地图API弊端。

  • 不安全JS,这样做对网站不友好,简直用不了
  • 方法太次,不符合9012年的现状

最后,我弄了谷歌地图,差不多在发布时想到我是国内站点,使用谷歌地图不如用百度地图,毕竟国内打不开和使用危险脚本代价一样。所以我最后选择了高德地图。

刚开始我是拒绝注册的,后来忍着注册,开始进行我第一个项目获取KEY然后进行地图自定义创建。

高德确实在使用上对新手不友好,还是需要一定的经验和技术。所以我边弄边查帮助文档,最好还是弄了一个勉强成看的。下面放上自己弄好的,仅供参考。

<!doctype html>
<html>

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
  <title>英文、中英文地图</title>
  <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" />
  <style>
    html,
    body,
    #container {
      width: 100%;
      height: 100%;
    }

    #map-styles .input-item {
      height: 2rem;
    }

    #map-styles .input-item span{
      display: inline-block;
      width: 4rem;
    }

    #map-styles .input-item .input-text {
      color: #0288d1;
      margin-left: 1rem;
      margin-right: 0rem;
      width: 6rem;
    }
  </style>
</head>

<body>
  <div id="container"></div>
  <div class="input-card" style="width:15rem">
    <h4>官方默认自定义样式</h4>
    <div id="map-styles">
      <div class="input-item">
        <input type='radio' name='mapStyle' value='normal'>
        <span>标准</span>
        <span class="input-text">normal</span>
      </div>
      <div class="input-item"><input type='radio' name='mapStyle' value='dark'><span>幻影黑</span><span class="input-text">dark</span></div>
      <div class="input-item"><input type='radio' name='mapStyle' value='light'><span>月光银</span><span class="input-text">light</span></div>
      <div class="input-item"><input type='radio' name='mapStyle' value='whitesmoke' checked><span>远山黛</span><span class="input-text">whitesmoke</span></div>
      <div class="input-item"><input type='radio' name='mapStyle' value='fresh'><span>草色青</span><span class="input-text">fresh</span></div>
      <div class="input-item"><input type='radio' name='mapStyle' value='grey'><span>雅士灰</span><span class="input-text">grey</span></div>
      <div class="input-item"><input type='radio' name='mapStyle' value='graffiti'><span>涂鸦</span><span class="input-text">graffiti</span></div>
      <div class="input-item"><input type='radio' name='mapStyle' value='macaron'><span>马卡龙</span><span class="input-text">macaron</span></div>
      <div class="input-item"><input type='radio' name='mapStyle' value='blue'><span>靛青蓝</span><span class="input-text">blue</span></div>
      <div class="input-item"><input type='radio' name='mapStyle' value='darkblue'><span>极夜蓝</span><span class="input-text">darkblue</span></div>
      <div class="input-item"><input type='radio' name='mapStyle' value='wine'><span>酱籽</span><span class="input-text">wine</span></div>
    </div>
  </div>
  <script src="https://cache.amap.com/lbs/static/es5.min.js"></script>
  <script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script>
  <script>
    //初始化地图
    var map = new AMap.Map('container', {
      resizeEnable: true, //是否监控地图容器尺寸变化
      mapStyle: "amap://styles/whitesmoke"
    });

    //绑定radio点击事件
    var radios = document.querySelectorAll("#map-styles input");
    radios.forEach(function(ratio) {
      ratio.onclick = setMapStyle;
    });

    function setMapStyle() {
      var styleName = "amap://styles/" + this.value;
      map.setMapStyle(styleName);
    }
  </script>
</body>

</html>

将文件保存为html上传服务器即可。


版权声明:

如未注明,均为原创,转载需注明出处!

本文链接:https://jkgblog.com/79.html

最后修改日期:2019年9月19日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。