高德地图/百度地图 api 根据select 选择地点 进行位置的显示;

news/2024/7/24 9:10:52 标签: 百度, 前端, javascript, html5

需求:根据select 选择器选择城市地名切换地图位置变化

预期效果:

 高德地图API:

思路:根据高德地图api(概述-地图 JS API | 高德地图API)官方实例进行修改

需要获取城市地点的adcode值和城市地点的名称通过AMap.Geocoder()进行获取相关信息,将adcode值和城市地点的名称通过.setCity 和

修改代码:

<select name="" id="courtNameSelect" class="selectClass" style="background-position-x: 150px!important;">
              <option value="哈尔滨冰雪大世界">哈尔滨冰雪大世界</option>
              <option value="大连星海广场">大连星海广场</option>
              <option value="沈阳中街">沈阳中街</option>
            </select>
javascript">$(function () {
  //地图加载
  var map = new AMap.Map("container", {
    resizeEnable: true,
    showMarker: true,
    enableHighAccuracy: true,
    showButton: true,
    panToLocation: true,
  });
  var placeSearch = new AMap.PlaceSearch({
    map: map
  });  //构造地点查询类
  $('#courtNameSelect').change(function () {
    var myValue;
    myValue = $(this).val()
    AMap.plugin('AMap.Geocoder', function () {
      var geocoder = new AMap.Geocoder();
      geocoder.getLocation(myValue, function (status, result) {
        if (result.info === 'OK') {
          const adcodeNum = result.geocodes[0].adcode
          select(adcodeNum, myValue);
        }
      });
    });
  })
  function select (adcodeNum, myValue) {
    placeSearch.setCity(adcodeNum);
    placeSearch.search(myValue);  //关键字查询查询
  }
  map.plugin(["AMap.ToolBar"], function () {
    map.addControl(new AMap.ToolBar());
  });
  if (location.href.indexOf('&guide=1') !== -1) {
    map.setStatus({ scrollWheel: false })
  }
});

百度地图API:

思路:根据高德地图api(地图JS API示例 | 百度地图开放平台)官方实例进行修改

代码

<select name="" id="courtNameSelect" class="selectClass" style="background-position-x: 150px!important;">
              <option value="哈尔滨冰雪大世界">哈尔滨冰雪大世界</option>
              <option value="大连星海广场">大连星海广场</option>
              <option value="沈阳中街">沈阳中街</option>
            </select>
javascript">$(function () {
  console.log($("#courtNameSelect").val())
  // 百度地图API功能
  function G (id) {
    return document.getElementById(id);
  }
  var map = new BMap.Map("l-map");
  const centerPlace = "北京"
  map.centerAndZoom(centerPlace, 12);
  const mrPlace = $("#courtNameSelect").val()
  function myFun () {
    var pp = mrPlace;
    map.centerAndZoom(pp, 18);
    map.addOverlay(new BMap.Marker(pp));
  }
  var local = new BMap.LocalSearch(map, {
    onSearchComplete: myFun
  });
  local.search(mrPlace);
  $('#courtNameSelect').change(function () {
    var myValue;
    myValue = $(this).val()
    map.clearOverlays();    //清除地图上所有覆盖物
    function myFun () {
      var pp = myValue;
      console.log(pp)
      map.centerAndZoom(pp, 18);
      map.addOverlay(new BMap.Marker(pp));
    }
    var local = new BMap.LocalSearch(map, {
      onSearchComplete: myFun
    });
    local.search(myValue);
  })
});

高德地图结合zTree.js多级联动效果实现

引入zTree.js相关js文件以及css文件

<link rel="stylesheet" href="css/index/zTreeStyle.css" type="text/css">
  <link rel="stylesheet" href="css/index/jquery.select.zTree.v1.5.css" type="text/css">
  <script type="text/javascript" src="js/common/jquery.ztree.core.js"></script>
  <script type="text/javascript" src="js/common/jquery.ztree.exhide.js"></script>
  <script type="text/javascript" src="js/common/jquery.select.zTree.v1.5.min.js"></script>
<select id="select2" title="选择"> </select>
javascript">$(function () {
var zNodes = [
        {id: 1, pId: 0, name: "父1 - 展开", open: true},
        {id: 11, pId: 1, name: "父11 - 折叠"},
        {id: 111, pId: 11, name: "叶子节点节点节点111"},
        {id: 113, pId: 11, name: "叶子节点节点节点113"},
        {id: 1131, pId: 113, name: "叶子节点节点节点1131"},
        {id: 1132, pId: 113, name: "叶子节点节点节点1132"},
        {id: 1133, pId: 113, name: "叶子节点节点节点1133"},
        {id: 114, pId: 11, name: "叶子节点节点节点114"},
        {id: 12, pId: 1, name: "父12 - 折叠"},
        {id: 121, pId: 12, name: "叶子节点节点节点121"},
        ...
    ];
  //地图加载
  var map = new AMap.Map("container", {
    resizeEnable: true,
    showMarker: true,
    enableHighAccuracy: true,
    showButton: true,
    panToLocation: true,
  });
  var placeSearch = new AMap.PlaceSearch({
    map: map
  });  //构造地点查询类
  $('.auditdh').click(function () {
    var mrPlace = $("#select2").find('option:selected').text()
    AMap.plugin('AMap.Geocoder', function () {
      var geocoder = new AMap.Geocoder();
      geocoder.getLocation(mrPlace, function (status, result) {
        if (result.info === 'OK') {
          const adcodeNum = result.geocodes[0].adcode
          select(adcodeNum, mrPlace);
        }
      });
    });
  })
  $("#select2").selectZTree({ data: zNodes })
    .on("change", function (e, data) {
      const address = data.address
      $('#placeAddress').html(address)
      var myValue;
      myValue = data.name
      AMap.plugin('AMap.Geocoder', function () {
        var geocoder = new AMap.Geocoder();
        geocoder.getLocation(myValue, function (status, result) {
          if (result.info === 'OK') {
            const adcodeNum = result.geocodes[0].adcode
            select(adcodeNum, myValue);
          }
        });
      });
    });
  function select (adcodeNum, myValue) {
    placeSearch.setCity(adcodeNum);
    placeSearch.search(myValue);  //关键字查询查询
  }
  map.plugin(["AMap.ToolBar"], function () {
    map.addControl(new AMap.ToolBar());
  });
  if (location.href.indexOf('&guide=1') !== -1) {
    map.setStatus({ scrollWheel: false })
  }
});


http://www.niftyadmin.cn/n/1354740.html

相关文章

linux 磁盘检测卡主_Linux 磁盘管理(3)

Linux 磁盘管理&#xff08;3&#xff09;五、磁盘检验fsck&#xff08;file system check&#xff09;用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题&#xff0c;可利用fsck命令对文件系统进行检查。语法&#xff1a;fsck [-t 文件系统] [-ACay] 装置名称选项与参…

pubsubjs介绍以及基本使用方法介绍

什么是PubSubJS&#xff1f; PubSubJS 是一个用 JavaScript 编写的基于主题的 发布/订阅库。 PubSubJS 有同步解耦&#xff0c;所以主题是异步发布的。这有助于使您的程序保持可预测性&#xff0c;因为在消费者处理主题时&#xff0c;主题的发起者不会被阻止。 主要特点&…

天融信网闸web界面登录方式_一个简易的Web注册登录界面

访问&#xff1a;http://songothao.gitee.io/web_sign_in下载&#xff1a;叁贰壹/WEB注册登录界面预览&#xff1a;运用 HTMLCSSJS&#xff08;JQuery&#xff09;JS代码如下&#xff1a;$这里主要是使用了DOM&#xff0c;关于一些前端输入过滤的安全机制没有做。CSDN&#xff…

修改video标签默认样式问题video播放器样式优化;video播放器默认显示图片

需求&#xff1a; 1.播放器可以支持上传默认封面图片 2.播放器的进度条长度拉长些,与播放器长度一样长&#xff0c;或者其他方式美化一下 首先需求1.播放器可以支持上传默认封面图片解决方案&#xff1a; 1.第一种方法可以直接在video标签中直接添加poster属性 <!DOCTYPE …

非主流图片制作工具_无需PS!教你使用Excel制作电子证件照,小白3分钟都能学会...

相信很多朋友都被电子证件照片烦恼过&#xff0c;特别是入职和办事的时候。但自己又不会PS&#xff0c;去照相馆又非常麻烦&#xff01;遇到这种情况该怎么办呢&#xff1f;其实使用Excel就能制作出来&#xff0c;非常简单方便&#xff0c;小白3分钟都能学会哦&#xff01;一、…

SASS使用方法环境配置 Ruby安装以及sass常用mixins举例 静态页使用方法

Sass介绍&#xff1a; Sass 是一个 CSS 预处理器。是 CSS 扩展语言&#xff0c;可以帮助我们减少 CSS 重复的代码&#xff0c;节省开发时间并且完全兼容所有版本的 CSS。 Sass 扩展了 CSS3&#xff0c;增加了规则、变量、混入、选择器、继承、内置函数等等特性。生成良好格式化…

.net runtime占用cpu_GO语言:runtime包

官网文档对runtime包的介绍&#xff1a;Package runtime contains operations that interact with Gos runtime system, such as functions to control goroutines. It also includes the low-level type information used by the reflect package; see reflects documentation…

前端经典面试题vue面试题

1.什么是MVVM&#xff1f; MVVM是一种设计思想。 Model 层代表数据模型&#xff0c;也可以在Model中定义数据修改和操作的业务逻辑&#xff1b; View 代表UI 组件&#xff0c;它负责将数据模型转化成UI 展现出来&#xff0c;ViewModel 是一个 同步View 和 Model的对象。2.mvvm…