前言

以前做了一个安卓版的地图应用,现在突然想做一个简单的网页版地图。这个简单的网页版地图能根据城市名进行位置查询(有个城市列表的小控件,支持城市列表选择),还能根据经纬度进行位置查询。当你进行城市搜索时,或者经纬度查询城市时,该小控件也能自由地切换到目标城市。

一、申请地图的AK密钥

1、首先找到一个地图开放平台,这里以百度地图开放平台为例,步骤如下:进入百度地图开放平台,拉到最底下,进行登录注册,然后进入应用管理,点击创建应用。

2、“应用名称”可以自己随意编辑,既然是百度地图,建议大家就写“地图”,应用类型因为做的是网页版的地图,所以选择浏览器端,启用服务默认就行
3、“IP白名单”处建议大家就填*,方便在不同的电脑上操作(百度地图官方不推荐)

4、点击“提交”,提交之后会出现如下网页,访问应用(AK)处会出现一串数字字母代码。这个就是我们要的AK密匙了,把它再粘贴到自己创建的网页版地图代码中去就好了

二、主要代码分析

1、设置鼠标滚轮缩放,可以自由地缩小或者扩大自己的地图

map.enableScrollWheelZoom(true);

2、根据城市名称进行位置查询

function theLocation1() {var city = document.getElementById("cityName").value;if (city != "") {// 用城市名设置地图中心点map.centerAndZoom(city, 11);}}

3、根据经纬度进行位置查询

function theLocation2() {if (document.getElementById("lng").value != "" && document.getElementById("lat").value != "") {map.clearOverlays();var new_point = new BMapGL.Point(document.getElementById("lng").value, document.getElementById("lat").value);// 创建标注var marker = new BMapGL.Marker(new_point);// 将标注添加到地图中map.addOverlay(marker);map.panTo(new_point);}}

4、创建城市选择控件

 var cityControl = new BMapGL.CityListControl({// 控件的停靠位置(可选,默认左上角)anchor: BMAP_ANCHOR_TOP_LEFT,// 控件基于停靠位置的偏移量(可选)offset: new BMapGL.Size(10, 5)});// 将控件添加到地图上map.addControl(cityControl);

三、全部代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script type="text/javascript"src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=你的密钥"></script><title>我的地图</title><style>html, body, #allmap {width: 100%;height: 100%;padding: 0;margin: 0;overflow: hidden;}#result {padding: 7px 10px;position: fixed;top: 5px;right: 0;left: 0;margin: auto;width: fit-content;background: #fff;box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);border-radius: 7px;z-index: 99;}#result input {width: 100px;margin-right: 10px;height: 20px;border: 1px solid rgba(27, 142, 236, 0.5);border-radius: 5px;}#result button {margin-right: 15px;border: 1px solid rgba(27, 142, 236, 0.5);border-radius: 5px;background: rgba(27, 142, 236, 0.5);color: #fff}</style>
</head>
<body>
<div id='allmap'></div>
<div id='result'>城市名: <input id="cityName" type="text"/><button onclick="theLocation1()"/>查询</button>经度: <input id="lng" type="text"/>纬度: <input id="lat" type="text"/><button onclick="theLocation2()"/>查询</button>
</div>
<script>// 百度地图API功能var map = new BMapGL.Map("allmap");var point = new BMapGL.Point(116.331398, 39.897445);map.centerAndZoom(point, 11);//设置鼠标滚轮缩放map.enableScrollWheelZoom(true);//根据城市名称进行地图查询function theLocation1() {var city = document.getElementById("cityName").value;if (city != "") {// 用城市名设置地图中心点map.centerAndZoom(city, 11);}}// 根据经纬度进行地图查询function theLocation2() {if (document.getElementById("lng").value != "" && document.getElementById("lat").value != "") {map.clearOverlays();var new_point = new BMapGL.Point(document.getElementById("lng").value, document.getElementById("lat").value);// 创建标注var marker = new BMapGL.Marker(new_point);// 将标注添加到地图中map.addOverlay(marker);map.panTo(new_point);}}// 创建城市选择控件var cityControl = new BMapGL.CityListControl({// 控件的停靠位置(可选,默认左上角)anchor: BMAP_ANCHOR_TOP_LEFT,// 控件基于停靠位置的偏移量(可选)offset: new BMapGL.Size(10, 5)});// 将控件添加到地图上map.addControl(cityControl);
</script>
</body>
</html>

四、结果展示

1、主界面包含城市名查询、经纬度查询以及下拉选择城市等

2、根据城市查询位置,可以看见城市选择控件也发生改变

3、根据经纬度查询位置 ,随便输入一个经纬度坐标,可以看见城市选择控件也发生改变

4、下拉城市选择

注:如对移动版地图感兴趣,参考博主以前的文章Android实战开发--三种地图类型的设计_全村第二帅的博客-CSDN博客_android 开发地图通过添加View控件显示地图,能够显示出地图的默认位置、地图名称等信息。实现切换地图类型的功能,对于地图SDK提供了3种主要的地图类型,即普通地图、卫星图和空白地图。用户通过点击对应的按钮,能够实现不同类型地图之间的相互切换功能。https://blog.csdn.net/qq_53860947/article/details/124506398

如何做一个简单的网页版地图相关推荐

  1. html网页设计简单吗,如何做一个简单的网页设计

    很多网页设计初学者都说,国外的网页设计很简单,但是又很容易吸引用户,这里面有什么诀窍吗?做一个网页如何做到界面简洁,内容简单又能打动用户,粘贴住他们.本文素马将讲解简单容易出效果的网页设计技巧,附上精 ...

  2. 如何做一个简单的网页导航

    如何运用html和css制作一个简单的网页导航 代码示例: <!DOCTYPE html> <html><head><meta charset="u ...

  3. 学习HTML(九)——做一个简单的网页

    通过前面八章的介绍,现在你就可以通过添加图片.设置列表.添加字体.背景颜色等标签,做一个很简单的 静态网页了.下面的例子就是我在CodeAcademy中的作业. <!DOCTYPE html&g ...

  4. 做一个简单网页(做一个简单网页多少钱)

    怎样做一个简易的网页?做一个简单网页多少钱 做一个简易的普通网页比较容易.当然,制作的方法有好几种,有的是直接写代码.有的是用绘图软件绘制页面再导出网页.常用的是使用网页制作软件做网页.下面以普通静态 ...

  5. java如何做网页_java怎么做一个简单网页?网页包括什么?

    学了java程序之后,大家就可以将这些运用到生活中去,比如做一个简单的网页.正好也可以检测自己学了怎么样,那么接下来,我们就来给大家讲解一下这方面的内容. 用Java语言编写实现一个简单的WEB浏览器 ...

  6. Java怎么做一个简单网页呢?

    学java的同学在接触到Java web开发之后都跃跃欲试想要尝试自己开发一个页面,那么应该如何操作呢?都需要使用到哪些技术呢?下面小千就来告诉你. 需要使用到的技术 java 语言知识, jsp 知 ...

  7. 如何做一个简单好玩的音乐网页

    如何做一个简单好玩的音乐网页 作者:朝思 下面我们开始用所学的的知识,开始做一个简单而方便的音乐页面,未使用插件 一共分为两部分: 一:播放部分 二:钢琴部分 由上图可见,左上角的为播放部分,可以实现 ...

  8. 用html5做一个简单网页_用新款ws2812灯带做一个简单的窗花

    本文转自:DF创客社区-未经许可不可转载 原文链接(附件请于原文下方下载): 用新款ws2812灯带做一个简单的窗花-创意生活论坛-DF创客社区​mc.dfrobot.com.cn 作者:屌丝王小明 ...

  9. 一个简单的网页抓取工具

    前两天遇到一个妹子,她说不会从拉网页,我想用node做个网页抓取工具是何尝的简单,于是装x之路开始了. 其实想法很简单,由网址得到html,由html解析css,js,image等,分别下载就行了, ...

最新文章

  1. 华为云中国前二,全球前五,增速第一,凭什么?
  2. ArchiCAD 23中文版
  3. 梯度下降(Gradient Descent),一句代码,一个式子
  4. springboot接入cas单点登录后跳转不到我需要跳转到页面_单点认证的一点心得
  5. scala学习 之 及 基本和高级用法(二)
  6. 处理器排行_垃圾处理器排行榜 适邦垃圾处理器榜上有名
  7. 算法练习5---快速排序Java版
  8. Zabbix 3.0 部署监控 [二]
  9. 【响应式编程的思维艺术】 (2)响应式Vs面向对象
  10. OpenGL---GLUT教程(一) GLUT简介,体系
  11. 拓端tecdat:R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
  12. 交通灯控制(软件延时法)C语言,智能交通灯控制系统软件部分(49页)-原创力文档...
  13. 简约高级导航源码+支持PC/WAP有后台
  14. Latex更改参考文献格式
  15. 4G模块 EC03-DNC的常用AT指令操作及模块访问内网方法
  16. 国产开源项目管理软件ZenTao
  17. #VMware#ESXI ESXI虚拟机安装
  18. 计算机表格制作中这么打字,excel表格先打字还是先制表?
  19. Nodejs影院售票管理系统的设计和实现(含论文)
  20. 国内外经典开源数据大全!

热门文章

  1. APA大讲堂 | APA平台买家指南(下
  2. Java程序员接单平台推荐
  3. element-骨架屏
  4. Nosql之Redis配置与优化及主从复制技术
  5. 肖申克的救赎(技术文章,非电影)
  6. 深度剖析React懒加载原理
  7. Vue-导航守卫——全局前置守卫
  8. 计算机网络03之可靠传输
  9. JavaScript双重for循环+追加字符串 打印五行五列星星
  10. 好的IT学习网站(不断更新)