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>

(0)

相关推荐

  • 最全面的百度地图JavaScript离线版开发

    项目要求web版百度地图要离线开发.这里总结下自己的开发过程和经验. 大概需求是:每辆车上安装有公司接收机,会实时反馈车辆的坐标.速度.转向等信息,接收到各车辆信息后在百度地图上实时画出车辆位置.作业点不一定都有网络,所以要求离线开发. 此过程主要有三个技术点: 1. 如何获取离线的API 2. 如何获取离线瓦片图 3. 如何在离线状态下将WGS坐标转换成百度地图坐标 解决问题过程: 1. 既然百度地图官方不支持离线地图,那么我们需要想办法把在线的代码改成离线的代码. 这里可以参考:http:/

  • 百度地图api应用标注地理位置信息(js版)

    有时做了一些东西没有记录,而过一段时间再看的时候,有会忘记了.需要在重新在看一遍. 百度地图javascript api可以参考 http://developer.baidu.com/map/reference/  示例:http://developer.baidu.com/map/jsdemo.htm 更多百度地图的介绍http://www.cnblogs.com/milkmap/tag/%E5%9C%B0%E5%9B%BEAPI/   里面介绍的非常详细. 弄了一个百度地图来标注地理位置信息

  • 如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)

    以下是使用js代码实现百度地图计算两地距离,代码如下所示: <script src="js/jquery-1.9.0.js" type="text/javascript" language="javascript"></script> <script language="javascript" type="text/javascript" src="js/area.j

  • js调用百度地图及调用百度地图的搜索功能

    js调用百度地图的方法 代码如下: <!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" /&

  • 基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标

    前言 近来由于工作需要,需要提取某些城市的经纬度坐标,稍微搜索了一下,发现百度地图和高德地图都提供了相关的函数和例子.那么剩余的工作也就比较简单了,保存坐标,然后转换为WGS坐标,这样才能和现有的GPS数据以及地图匹配. 主要问题和解决方法 本地保存文件跨浏览器支持 由于安全的原因,JavaScript本地保存文件的方式通常都只有IE支持的ActiveXObject/Open方法,每次都要提示不安全和允许运行,非常麻烦.好在其他浏览器目前都支持<a>标签实现文件下载的方法.经测试最新的Goog

  • javascript实现百度地图鼠标滑动事件显示、隐藏

    其实现思路是给label设置样式,我们来看下具体做法吧 var label = new BMap.Label("我是文字标注哦",{offset:new BMap.Size(20,-10)}); label.setStyle({ display:"none" //给label设置样式,任意的CSS都是可以的 }); marker.setLabel(label); marker.addEventListener("mouseover", funct

  • JS中引用百度地图并将百度地图的logo和信息去掉

    采用CSS覆盖的方法就可以了,但是官方是不允许这么做的,参考:http://developer.baidu.com/map/question.htm 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>javascript移除百度地图LOGO和版权信息</title> <script type="text/j

  • 通过百度地图获取公交线路的站点坐标的js代码

    最近做百度地图的模拟数据,需要获取某条公交线路沿途站点的坐标信息,貌似百度没有现成的API,因此做了一个模拟页面,工具而已,IE6/7/8不支持 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>获取公交站点坐标</title> <style type="text/css"> html,b

  • javascript 开发之百度地图使用到的js函数整理

     javascript 开发之百度地图使用到的js函数整理 接项目用到的地图,客户要求用百度地图,没办法只好用百度地图,这里总结一下,写的一些函数,注释比较详细! //创建和初始化地图函数: function initMap(){ createMap();//创建地图 setMapEvent();//设置地图事件 addMapControl();//向地图添加控件 addMarker();//向地图中添加marker } //创建地图函数: function createMap(){ var m

  • javascript使用百度地图api和html5特性获取浏览器位置

    复制代码 代码如下: <!DOCTYPE html><html><body><p id="demo">点击这个按钮,获得您的位置:</p><button onclick="getLocation()">试一下</button><script src="http://api.map.baidu.com/api?v=1.4" type="text/ja

随机推荐