使用百度地图api创建和在指定位置显示高清地图,并在定位地点添加标记。

实现功能描述: 实现功能描述:页面加载可显示默认地点; 可在输入框输入想要查看的地址,将地址解析结果显示在地图上,并调整地图视野;

实现效果图如下:默认地址为寒山寺;

实现代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="keywords" content="百度地图,百度地图API,百度地图自定义工具,百度地图所见即所得工具" />
  <meta name="description" content="百度地图API自定义地图,帮助用户在可视化操作下生成百度地图" />
  <title>百度地图API自定义地图</title>
  <!--引用百度地图API-->
  <script src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=您申请的ak密钥"></script>
</head>
<style>
  #map {
    width: 700px;
    height: 550px;
    border: #ccc solid 1px;
    font-size: 12px;
    margin-top: 10px;
  }
</style>

<body>
  <!--百度地图容器-->
  城市名: <input id="cityName" type="text" />
  <button onclick="theLocation()">查询</button>
  <div id="map"></div>
   <p style="color:red;font-weight:600">地图生成工具基于百度地图JS api v2.0版本开发,使用请申请密匙。
    <a href="http://developer.baidu.com/map/index.php?title=jspopular/guide/introduction" style="color:#2f83c7"
      target="_blank">了解如何申请密匙</a>
    <a href="http://lbsyun.baidu.com/apiconsole/key?application=key" style="color:#2f83c7" target="_blank">申请密匙</a>
  </p>
</body>
<script type="text/javascript">
  // 实现功能描述:页面加载可显示默认地点; 可在输入框输入想要查看的地址,将地址解析结果显示在地图上,并调整地图视野;
  function theLocation() {
    var city = document.getElementById("cityName").value;
    if (city != "") {
      //             map.centerAndZoom(city,11); 
      //         }
      //       }  
      var map = new BMapGL.Map('map');
      map.centerAndZoom(new BMapGL.Point(116.331398, 39.897445), 12);//将定位中的地点放在地图中心
      //创建地址解析器实例
      var myGeo = new BMapGL.Geocoder();

      var zoomCtrl = new BMapGL.ZoomControl();  
      map.addControl(zoomCtrl); // 添加缩放控件
      // 将地址解析结果显示在地图上,并调整地图视野
      myGeo.getPoint(city, function (point) {
        if (point) {
          map.centerAndZoom(point, 16);//将定位中的地点放在地图中心
          //  创建点标记
          let myIcon = new BMapGL.Icon("./img/mark.gif", new BMapGL.Size(30, 55));
          // 创建Marker标注,使用图标
          let marker = new BMapGL.Marker(point, {
            icon: myIcon
          });
          // 将标注添加到地图
          map.addOverlay(marker);
          // map.addOverlay(new BMapGL.Marker(point, { title: city }))//将定位中的地点放在地图中心
        } else {
          alert('您选择的地址没有解析到结果!');
        }
      });
    }
  }
  var map = new BMapGL.Map('map');
  //创建地址解析器实例
  var myGeo = new BMapGL.Geocoder();
  var zoomCtrl = new BMapGL.ZoomControl();  // 添加缩放控件
  map.addControl(zoomCtrl);
  // 将地址解析结果显示在地图上,并调整地图视野
  myGeo.getPoint("苏州市姑苏区寒山寺", function (point) {
    if (point) {
      map.centerAndZoom(point, 16);
      map.addOverlay(new BMapGL.Marker(point, { title: '苏州市姑苏区寒山寺' }))
    } else {
      alert('您选择的地址没有解析到结果!');
    }
  });
</script>

</html>

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您可以使用百度地图JavaScript API来实现这一功能。具体步骤如下: 1.在HTML文件中引入百度地图JavaScript API的代码: ``` <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> ``` 其中,`ak`参数为您申请的百度地图API密钥。 2.创建地图容器: ``` <div id="map" style="width: 100%; height: 100%;"></div> ``` 3.在JavaScript文件中编写代码,在地图中心显示指定经纬度: ``` // 初始化地图 var map = new BMap.Map("map"); // 创建点坐标 var point = new BMap.Point(经度, 纬度); // 设置地图中心点 map.centerAndZoom(point, 15); // 开启鼠标滚轮缩放 map.enableScrollWheelZoom(true); ``` 其中,`经度`和`纬度`为您要显示位置的坐标值。 4.将以上代码放在页面加载完成后执行即可。 示例代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>百度地图实时显示指定位置</title> <style type="text/css"> html, body, #map { width: 100%; height: 100%; margin: 0; overflow: hidden; font-family: "微软雅黑"; } </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> </head> <body> <div id="map"></div> <script type="text/javascript"> var map = new BMap.Map("map"); // 创建地图实例 var point = new BMap.Point(116.404, 39.915); // 创建点坐标 map.centerAndZoom(point, 15); // 设置中心点和缩放级别 map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放 </script> </body> </html> ``` 在上面的代码中,将`您的密钥`替换为您申请的百度地图API密钥,`116.404`和`39.915`为北京市中心的经纬度坐标。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值