博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【百度地图API】如何在地图上添加标注?——另有:坐标拾取工具+打车费用接口介绍...
阅读量:5897 次
发布时间:2019-06-19

本文共 4842 字,大约阅读时间需要 16 分钟。

原文:

摘要:

在这篇文章中,你将学会,如何利用百度地图API进行标注。如何使用API新增的打车费用接口。

-------------------------------------------------------------------------------------------------------

哇,好久没有上来了。主要是因为最近工作繁忙,加上休息时间被各种排练、社团活动占满,导致木有更新此博客。

突然发现,【百度地图API】原来有了新变化!新增了打车费用的接口!

同时,坐标拾取工具也有了很大的变化!必须介绍一下啦~~

好!就让我们一起来看看吧~

-------------------------------------------------------------------------------------------------------

一、如何进行标注

1、首先,我们需要找准标注的位置。比如,我想标注“中央民族大学”附近的网球场。那么,我转到坐标拾取工具页面,请点击 。输入“中央民族大学”,点击查找按钮。

img_eac58c7d3555ffa4474b18f7036eced4.jpg

2、现在,地图上出现了很多中央民族大学附近的红色标注点。我将鼠标移到网球场上,就能看到我想要获取的地点的坐标。我就记下这个坐标。比如“116.330599,39.95536”。

img_8a0d1466c3df8dd0fc2fa84cac098465.jpg

3、坐标反查

如果,我已经有了一个从别的地方得到的坐标点,比如说“116.414597,39.955441”,而我不知道这是哪个地方的坐标。我可以把这个输入到地址框中,勾选反向查询,然后点击百度一下的按钮。地图上就会出现这个地点是在安定门。

坐标反查比较适合在得知坐标,而不知具体位置的时候使用。比如,你用GPS定位了一个点,你得到了这个点的经纬度,就可以利用坐标反查来获得这个点的地址。

从GPS坐标转换到百度地图坐标,需要咨询下百度api的客服:mapapi@baidu.com

img_a7f7eb04cded05bb129662d622f3daec.jpg

4、建立网页文件

打开记事本,粘贴以下代码至记事本中,保存文件为map.htm文件。(注意这里的格式是网页文件的格式哦)

大家动手来粘贴一下。

<!
DOCTYPE html
>
<
html
>
<
head
>
<
meta
http-equiv
="Content-Type"
content
="text/html; charset=utf-8"
/>
<
title
>
酸奶小妹——百度地图API学习
</
title
>
<
style
type
="text/css"
>
html
{
height
:
100%
}
body
{
height
:
100%
;
margin
:
0px
;
padding
:
0px
}
#milkMap
{
height
:
400px
;
width
:
600px
;
border
:
1px solid blue
;
}
</
style
>
<
script
type
="text/javascript"
src
="http://api.map.baidu.com/api?v=1.1&services=false"
>
  
</
script
>
</
head
>
<
body
>
<
div
id
="milkMap"
></
div
>
<
script
type
="text/javascript"
>
var
map
=
new
BMap.Map(
"
milkMap
"
);
//
创建地图实例
var
point
=
new
BMap.Point(
116.330599
,
39.95536
);
//
创建点坐标
map.centerAndZoom(point,
15
);
//
初始化地图,设置中心点坐标和地图级别
  
var
marker
=
new
BMap.Marker(point);
//
创建标注
   map.addOverlay(marker);
//
将标注添加到地图中
</
script
>
</
body
>
</
html
>

 注意,在这句话里,写上你查询到的坐标。

var
point
=
new
BMap.Point(
116.330599
,
39.95536
);
//
创建点坐标

5、给标注加上信息窗口

在刚才代码的基础上,加上以下内容,就可以实现点击标注,弹出信息窗口的事件了。比如以下这个例子:

var
infoWindow
=
new
BMap.InfoWindow(
"
<a target='_blank' href='http://www.ui-love.com/su/'><img title='粟摄影' alt='粟摄影' src='http://ui-love.com/static/img/subslogan.jpg' /></a>
"
);
//
创建信息窗口对象
marker.addEventListener(
"
click
"
,
function
(){
//
给标注添加点击事件
this
.openInfoWindow(infoWindow);
});

你可以在信息窗口里放图片,文字,链接等等。任何html的东西都在信息窗口里面,从而完成整个标注的过程。

img_7a1b644381537b2a686197f52c7d9f32.jpg

全部代码在此:

img_1c53668bcee393edac0d7b3b3daff1ae.gif
img_405b18b4b6584ae338e0f6ecaf736533.gif
标注代码
<!
DOCTYPE html
>
<
html
>
<
head
>
<
meta
http-equiv
="Content-Type"
content
="text/html; charset=utf-8"
/>
<
title
>
酸奶小妹——百度地图API学习
</
title
>
<
style
type
="text/css"
>
html
{
height
:
100%
}
body
{
height
:
100%
;
margin
:
0px
;
padding
:
0px
}
#milkMap
{
height
:
400px
;
width
:
600px
;
border
:
1px solid blue
;
}
</
style
>
<
script
type
="text/javascript"
src
="http://api.map.baidu.com/api?v=1.1&services=false"
>
  
</
script
>
</
head
>
<
body
>
<
div
id
="milkMap"
></
div
>
<
script
type
="text/javascript"
>
var
map
=
new
BMap.Map(
"
milkMap
"
);
//
创建地图实例
var
point
=
new
BMap.Point(
116.330599
,
39.95536
);
//
创建点坐标
map.centerAndZoom(point,
15
);
//
初始化地图,设置中心点坐标和地图级别
  
var
marker
=
new
BMap.Marker(point);
//
创建标注
   map.addOverlay(marker);
//
将标注添加到地图中
var
infoWindow
=
new
BMap.InfoWindow(
"
<p><a target='_blank' title='粟摄影' alt='粟摄影' href='http://www.ui-love.com/su/'><img src='http://ui-love.com/static/img/subslogan.jpg' /></a></p><p style='font-size:12px;'>欢迎光临<b>粟摄影</b>的官方网站>></p><p style='font-size:12px;'>电话:010-8888 6666</p><p style='font-size:12px;'>地址:北京市海淀区XX门XX街道XXX村子</p>
"
);
//
创建信息窗口对象
marker.addEventListener(
"
click
"
,
function
(){
//
给标注添加点击事件
this
.openInfoWindow(infoWindow);
});
</
script
>
</
body
>
</
html
>

---------------------------------------------------------------------------------------------------

二、打车费用接口

举个例子来说明这个接口是如何使用的吧。比如,我要从安定门到王府井。

1、找到打车费用的接口

我先到API的官方网站,找到类参考的入口  

打车查询是属于“服务类”,我就点击一下“服务”。然后就看到这样的页面。

img_22c7f40ac793d37236697e1d56421bb1.jpg

调用该接口就可以可以啦~

说明:TaxiFare有白天和夜晚两种计算费用的方式。你还可以查询起步价、单价和总价。

taxiFare.day.totalFare
//
白天打车总价
taxiFare.night.totalFare
//
夜间打车总价
taxiFare.day.initialFare
//
白天的起步价
taxiFare.day.unitFare
//
白天的单价
taxiFare.night.initialFare
//
夜间的起步价
taxiFare.night.unitFare
//
夜间的单价

完整的白天打车总价的例子如图,源代码在图的下方。

img_d0616c50983a99b176a8c0e606ce2130.jpg

img_1c53668bcee393edac0d7b3b3daff1ae.gif
img_405b18b4b6584ae338e0f6ecaf736533.gif
打车
<
html
>
<
head
>
<
meta
http-equiv
="Content-Type"
content
="text/html; charset=gb2312"
/>
<
title
>
驾车导航
</
title
>
<
script
type
="text/javascript"
src
="http://api.map.baidu.com/api?key=46ce9d0614bf7aefe0ba562f8cf87194&v=1.1&services=true"
>
</
script
>
</
head
>
<
body
>
<
div
style
="width:520px;height:340px;border:1px solid gray"
id
="container"
>
</
div
>
</
body
>
</
html
>
<
script
type
="text/javascript"
>
var
map
=
new
BMap.Map(
"
container
"
);
//
定义地图容器
map.centerAndZoom(
new
BMap.Point(
116.404
,
39.915
),
14
);
//
初始化地图
var
driving
=
new
BMap.DrivingRoute(map, {onSearchComplete:yyy,renderOptions:{map: map, autoViewport:
true
}});
driving.search(
"
安定门
"
,
"
王府井
"
);
//
驾车查询
function
yyy(rs){
alert(
"
从安定门到王府井打车总费用为:
"
+
rs.taxiFare.day.totalFare
+
"
"
);
//
计算出白天的打车费用的总价
}
</
script
>

目前,打车费用支持的城市为:北京,上海,广州,深圳,成都、天津、杭州、武汉、苏州、南京、重庆、郑州、西安、济南、青岛、长沙。

自定义驾车的例子,请参考:

转载地址:http://gkosx.baihongyu.com/

你可能感兴趣的文章
图像滤镜艺术---(Lightleaks Filter)漏光滤镜
查看>>
[LeetCode] Find Anagram Mappings 寻找异构映射
查看>>
--Too small initial heap for new size specified
查看>>
黄聪:3分钟学会sessionStorage用法
查看>>
17monipdb根据IP获得区域
查看>>
Entity Framework 全面教程详解(转)
查看>>
模拟源码深入理解Vue数据驱动原理(2)
查看>>
Hibernate的配置中,c3p0连接池相关配置
查看>>
024-Spring Boot 应用的打包和部署
查看>>
linux的fork()函数具体解释 子进程复制父进程什么
查看>>
js 温故而知新 用typeof 来判断一个未定义的变量
查看>>
C# HttpWebResponse下载限速
查看>>
springboot redis多数据源设置
查看>>
用创业舞动飞扬的青春
查看>>
Windows上Python2.7安装Scrapy过程
查看>>
Android 网络HTML查看器
查看>>
Tensorflow神经网络预测股票均价
查看>>
Android源码分析--Android系统启动
查看>>
基于XDanmuku的Android性能优化实战
查看>>
分布式架构springmvc+springboot+springcloud+redis
查看>>