js 调用百度地图api并在地图上进行打点添加标注


Posted in Javascript onMay 13, 2014

最近要做一个网页,具体内容是:上边有一个标题,下边分成两块,左边是地图。并且地图上有两个点,点击两个点有相应的提示信息,显示数据库里最新的两条数据信息。右边是一些文字说明。本人刚开始学习,做的也不是很好

总体效果如下所示:

js 调用百度地图api并在地图上进行打点添加标注 

首先新建map.php文件,代码如下

<!DOCTYPE html> 
<?php 
/* 
创建与数据库的连接 
*/ 
$conn=mysql_connect("","","") or die("can not connect to server"); 
mysql_select_db("hdm0410292_db",$conn); 
mysql_query("set names utf8"); 
//选择出两辆车插入的最新数据,并将两条语句存在数组里 
$sql0="select * from car_info where carID='20140508'order by id desc limit 1"; 
$sql1="select * from car_info where carID= '20140510' order by id desc limit 1"; 
$sql=array($sql0,$sql1); 
?> 
<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>车联网信息展示</title> 
<style type="text/css"> 
html{ 
height:99%} 
body{ 
height:99.9%; 
width:99%; 
font-family:楷体_GB2312; 
font-size:25px} 
#container {height: 100%} 
</style> 
<script type="text/javascript" 
src="http://api.map.baidu.com/api?v=1.5&ak=你申请的秘钥"></script> 
</head> 
<body BGCOLOR="#CAFFFF"> 
<div id="container"></div> 
<script type="text/javascript"> var lon_center = 0; 
var lat_center = 0; 
var map = new BMap.Map("container"); 
<!-- 添加标注的函数,参数包括,点坐标,车ID,以及数据库里的其他信息--> 
function addMarker(point,index,s){ 
var fIcon = new BMap.Icon("car1.png", new BMap.Size(55, 43), { 
}); 
var sIcon = new BMap.Icon("car2.png", new BMap.Size(55, 43), { 
}); 
var myIcon = ""; 
// 创建标注对象并添加到地图 
if(index == 20140508) 
myIcon=fIcon; 
else 
myIcon=sIcon; 
var marker = new BMap.Marker(point, {icon: myIcon}); 
map.addOverlay(marker); 
marker.addEventListener("click",function(){ 
var opts={width:450,height:500,title:"详细信息"}; 
var infoWindow = new BMap.InfoWindow(s,opts); 
map.openInfoWindow(infoWindow,point); 
}); 
} 
<?php 
//遍历数组里的两条sql语句 
foreach ($sql as &$value) { 
$query=mysql_query($value); 
$row=mysql_fetch_array($query); 
?> 
var lon= <?php echo $row[longitude] ?>; 
var lat= <?php echo $row[latitude] ?>; 
<!-- 计算两个点的中心点,并将其作为地图初始化时的中心位置--> 
lon_center += lon; 
lat_center += lat; 
var id=<?php echo $row[id] ?>; 
var info="<br/>"+"carID: " + "<?php echo $row[carID]?>" + " <br/> " + 
"经度: " + "<?php echo $row[longitude]?>" + " <br/> " + 
"纬度: " + "<?php echo $row[latitude]?>" + " <br/> " + 
"速度: " + "<?php echo $row[speed]?>" + "Km/h" + " <br/> " + 
"加速度: " + "<?php echo $row[acceleration]?>" + " <br/> " + 
"方向: " + "<?php echo $row[direction]?>" + " <br/> " + 
"油量: " + "<?php echo $row[oil]?>" + "<br/>" + 
"地址: " + "<?php echo $row[street]?>"; 
var point = new BMap.Point(lon, lat); 
addMarker(point,<?php echo $row[carID] ?>,info); 
<?php 
} 
?> 
<!-- 计算两个点的中心点,并将其作为地图初始化时的中心位置--> 
var center = new BMap.Point(lon_center/2,lat_center/2); 
map.centerAndZoom(center, 17); 
map.enableScrollWheelZoom(); 
</script> 
</body> 
</html>

map.php文件主要是显示数据库里的两条信息,将这两条信息在地图上的相应的位置显示出来。

然后再建title.php,这个很简单,就是显示一个标题

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>信息展示</title> 
<style type="text/css"> html{ 
height:100%;} 
body{ 
height:10%; 
width:99%; 
font-family:楷体_GB2312; 
font-size:25px} 
</style> 
</head> 
<body BGCOLOR="#CAFFFF"> 
<H1 ALIGN="CENTER"> 信息展示 </H1> 
</body> 
</html>

然后在建立详细信息说明模块info.php
<!DOCTYPE html> 
<?php $conn=mysql_connect("","","") or die("can not connect to server"); 
mysql_select_db("",$conn); 
mysql_query("set names utf8"); 
$sql0="select * from car_info where carID='20140508'order by id desc limit 1"; 
$sql1="select * from car_info where carID= '20140510' order by id desc limit 1"; 
$sql=array($sql0,$sql1); 
function htmtocode($content){ 
$content=str_replace("\n", "<br>", str_replace(" ", " ", $content)); 
return $content; 
} 
?> 
<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>信息展示</title> 
<style type="text/css"> 
html{ 
height:90%;} 
body{ 
height:90%; 
width:90%; 
font-family:楷体_GB2312; 
font-size:20px} 
</style> 
</head> 
<body BGCOLOR="#CAFFFF"> 
<H1 ALIGN="CENTER"> 信息展示 </H1> 
<?php foreach ($sql as &$value) { 
$query=mysql_query($value); 
$row=mysql_fetch_array($query); 
?> 
<H2>car <?php echo $row[carID]?> 详细信息</H2> 
<HR> 
CAR ID: <?php echo $row[carID]?><br> 
经度: <?php echo $row[longitude]?> <br> 
纬度: <?php echo $row[latitude]?> <br> 
速度: <?php echo $row[speed]?> Km/h <br> 
加速度: <?php echo $row[acceleration]?><br> 
方向: <?php echo $row[direction]?> <br> 
油量: <?php echo $row[oil]?><br> 
地址: <?php echo $row[street]?><br> 
时间: <?php echo $row[date]?> 
<?php } ?> 
</body> 
</html>

最后在写一个vanet.php文件,该文件主要是调用前三个文件
<!DOCTYPE html> <html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>信息展示</title> 
</head> 
<FRAMESET ROWS="10%,90%" FRAMEBORDER=1 > 
<FRAME SRC="title.php"></FRAME> 
<FRAMESET COLS="70%,30%"> 
<FRAME SRC="map.php"> 
<FRAME SRC="info.php"> 
</FRAMESET> 
</FRAMESET> 
</html>
Javascript 相关文章推荐
js 获取元素下面所有li的两种方法
Apr 14 Javascript
jQuery插件boxScroll实现图片轮播特效
Jul 14 Javascript
第九篇Bootstrap导航菜单创建步骤详解
Jun 21 Javascript
全面了解JavaScript的数据类型转换
Jul 01 Javascript
JavaScript中setTimeout的那些事儿
Nov 14 Javascript
原生js实现回复评论功能
Jan 18 Javascript
vue.js项目打包上线的图文教程
Nov 16 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
jQuery EasyUI window窗口使用实例代码
Dec 25 jQuery
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
Apr 21 Javascript
JS 5种遍历对象的方式
Jun 16 Javascript
Nest.js散列与加密实例详解
Feb 24 Javascript
两种不同的方法实现js对checkbox进行全选和反选
May 13 #Javascript
js浏览器本地存储store.js介绍及应用
May 13 #Javascript
js 获取时间间隔实现代码
May 12 #Javascript
Jquery跳到页面指定位置的方法
May 12 #Javascript
Javascript仿PHP $_GET获取URL中的参数
May 12 #Javascript
JS版的date函数(和PHP的date函数一样)
May 12 #Javascript
七个很有意思的PHP函数
May 12 #Javascript
You might like
人大复印资料处理程序_补充篇
2006/10/09 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
基于jQuery实现的菜单切换效果
2015/10/16 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
toString.call()通用的判断数据类型方法示例
2020/08/28 Javascript
浅谈Python中函数的参数传递
2016/06/21 Python
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
python上selenium的弹框操作实现
2020/07/13 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
世界上最好的足球商店:Unisport
2019/03/02 全球购物
养殖行业的创业计划书
2014/01/05 职场文书
高中军训感言500字
2014/02/24 职场文书
小学毕业寄语大全
2014/04/03 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
政协委员个人总结
2015/03/03 职场文书
郭明义电影观后感
2015/06/08 职场文书