694 lines
23 KiB
HTML
694 lines
23 KiB
HTML
<html>
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
|
||
<style type="text/css">
|
||
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
|
||
</style>
|
||
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=NoZPG7j7aOh4Lb5vKgliyRIjswH8dFtR"></script>
|
||
<!-- <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.0&from=1&to=5&coords=116.380967,2039.913285&ak=yzC0EIsAMwK5AXdLzbNYM9gNCudAZmtq"></script> -->
|
||
<script type="text/javascript" src="http://api.map.baidu.com/library/CurveLine/1.5/src/CurveLine.min.js"></script>
|
||
<title>地图基础测试</title>
|
||
</head>
|
||
<body>
|
||
<!-- <div id="image"> -->
|
||
<!-- <a href="Sydqs://">open QQ.exe</a><br/> -->
|
||
<!-- <a href="HLJW://">open1 exe</a><br/> -->
|
||
<!-- <a href="myapp://">open HLJW.PC.IVMS.Client</a> -->
|
||
<!-- </div> -->
|
||
<div id="allmap"></div>
|
||
|
||
<!-- <div id="r-result"> -->
|
||
<!-- 经度: <input id="longitude" type="text" style="width:100px; margin-right:10px;" /> -->
|
||
<!-- 纬度: <input id="latitude" type="text" style="width:100px; margin-right:10px;" /> -->
|
||
<!-- <input type="button" value="查询" onclick="BD_MapDirectionShow('桂C123456', '20171116', 116.888888, 25.666666)" /> -->
|
||
<!-- </div> -->
|
||
<!-- <input type="button" id="btn" value="显示" /> -->
|
||
<!-- <div id="showWindow" style="display:none;"> -->
|
||
<!-- <input type="button" id="btn1" value="显示" /> -->
|
||
<!-- </div> -->
|
||
</body>
|
||
</html>
|
||
<script type="text/javascript">
|
||
|
||
var m_InitialLng = 110.300175;
|
||
var m_InitialLat = 25.272718;
|
||
|
||
// 百度地图API功能
|
||
var map = new BMap.Map("allmap");
|
||
var point = new BMap.Point(m_InitialLng,m_InitialLat);
|
||
map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
|
||
map.addControl(new BMap.OverviewMapControl()); //添加缩略地图控件
|
||
map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
|
||
map.disable3DBuilding();
|
||
map.centerAndZoom(point,15);
|
||
|
||
|
||
|
||
//var myIcon = new BMap.Icon('定位.png', new BMap.Size(300,157));
|
||
|
||
// 添加带有定位的导航控件(OK)
|
||
var navigationControl = new BMap.NavigationControl({
|
||
// 靠左上角位置
|
||
anchor: BMAP_ANCHOR_TOP_LEFT,
|
||
// LARGE类型
|
||
type: BMAP_NAVIGATION_CONTROL_LARGE,
|
||
// 启用显示定位
|
||
enableGeolocation: true
|
||
});
|
||
|
||
map.addControl(navigationControl);
|
||
|
||
// 添加定位控件
|
||
var geolocationControl = new BMap.GeolocationControl();
|
||
|
||
geolocationControl.addEventListener("locationSuccess", function(e){
|
||
// 定位成功事件
|
||
var address = '';
|
||
address += e.addressComponent.province;
|
||
address += e.addressComponent.city;
|
||
address += e.addressComponent.district;
|
||
address += e.addressComponent.street;
|
||
address += e.addressComponent.streetNumber;
|
||
alert("当前定位地址为:" + address);
|
||
});
|
||
|
||
geolocationControl.addEventListener("locationError",function(e){
|
||
// 定位失败事件
|
||
alert(e.message);
|
||
});
|
||
|
||
map.addControl(geolocationControl);
|
||
|
||
|
||
|
||
// 开始
|
||
|
||
// 初始化地图(OK)
|
||
function InitMap(){
|
||
if(map==null){
|
||
map = new BMap.Map("allmap"); // 创建Map实例
|
||
}
|
||
map.centerAndZoom(new BMap.Point(m_InitialLng, m_InitialLat), 15); // 初始化地图,设置中心点坐标和地图级别
|
||
map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
|
||
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
|
||
|
||
}
|
||
|
||
function InitMap(longitude, latitude){
|
||
if(map==null){
|
||
map = new BMap.Map("allmap"); // 创建Map实例
|
||
}
|
||
var new_point = new BMap.Point(parseFloat(longitude),parseFloat(latitude));
|
||
map.centerAndZoom(new_point, 15); // 初始化地图,设置中心点坐标和地图级别
|
||
map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
|
||
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
|
||
map.panTo(new_point);
|
||
|
||
}
|
||
|
||
|
||
// 获取城市经纬度值
|
||
function getLocation(cityname){
|
||
if(map==null){
|
||
map = new BMap.Map("allmap"); // 创建Map实例
|
||
}
|
||
map.setCurrentCity(cityname); // 设置地图显示的城市 此项是必须设置的
|
||
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
|
||
return new BMap.Point(116.404, 39.915);
|
||
}
|
||
|
||
// 鼠标点击拾取坐标
|
||
function GetPoint(){
|
||
//单击获取点击的经纬度
|
||
map.addEventListener("click",function(e){
|
||
alert(e.point.lng + "," + e.point.lat);
|
||
});
|
||
}
|
||
|
||
// 设置地图显示的城市
|
||
function setCity(cityname){
|
||
if(map==null){
|
||
map = new BMap.Map("allmap"); // 创建Map实例
|
||
}
|
||
|
||
map.centerAndZoom(getLocation(cityname), 12); // 初始化地图,设置中心点坐标和地图级别
|
||
map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
|
||
map.setCurrentCity(cityname); // 设置地图显示的城市 此项是必须设置的
|
||
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
|
||
|
||
}
|
||
|
||
// 设置中心点城市(OK)
|
||
function setCenterCityLocation(city){
|
||
if(map==null){
|
||
map = new BMap.Map("allmap"); // 创建Map实例
|
||
}
|
||
if(city != ""){
|
||
map.centerAndZoom(city,12); // 用城市名设置地图中心点
|
||
}
|
||
}
|
||
|
||
// 开启鼠标滚轮缩放
|
||
function enableMouseDrag(){
|
||
if(map==null){
|
||
map = new BMap.Map("allmap"); // 创建Map实例
|
||
}
|
||
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
|
||
}
|
||
|
||
function myFun(result){
|
||
var cityName = result.name;
|
||
map.setCenter(cityName);
|
||
}
|
||
|
||
function getLocalCity(){
|
||
var myCity = new BMap.LocalCity();
|
||
return myCity.get(myFun);
|
||
}
|
||
|
||
//
|
||
function setLocation(lng, latitude){
|
||
document.getElementById("longitude").value = lng;
|
||
document.getElementById("latitude").value = latitude;
|
||
showLocation();
|
||
}
|
||
|
||
|
||
// 用经纬度设置地图中心点
|
||
function showLocation(){
|
||
if(document.getElementById("longitude").value != "" && document.getElementById("latitude").value != ""){
|
||
map.clearOverlays();
|
||
var new_point = new BMap.Point(document.getElementById("longitude").value,document.getElementById("latitude").value);
|
||
var marker = new BMap.Marker(new_point); // 创建标注
|
||
map.addOverlay(marker); // 将标注添加到地图中
|
||
map.panTo(new_point);
|
||
}
|
||
}
|
||
|
||
// 用经纬度设置地图中心点(实时定位2)
|
||
function BD_MapDirectionShow(longitude,latitude){
|
||
if(longitude != '' && latitude != ''){
|
||
map.clearOverlays();
|
||
translateData(longitude, latitude);
|
||
}
|
||
}
|
||
|
||
var _ambulanceNumber;
|
||
var _deviceId;
|
||
|
||
// 用经纬度设置地图中心点(实时定位2new)
|
||
function BD_MapDirectionShow(ambulanceNumber, deviceId, longitude, latitude){
|
||
if(ambulanceNumber!=''){
|
||
_ambulanceNumber = ambulanceNumber;
|
||
}
|
||
if(deviceId!=''){
|
||
_deviceId = deviceId;
|
||
}
|
||
if(longitude != '' && latitude != ''){
|
||
map.clearOverlays();
|
||
translateData(longitude, latitude);
|
||
}
|
||
}
|
||
|
||
// BD_MapDirectionShowOther
|
||
function BD_MapDirectionShowOther(ambulanceNumber, deviceId, longitude, latitude){
|
||
if(ambulanceNumber!=''){
|
||
_ambulanceNumber = ambulanceNumber;
|
||
}
|
||
if(deviceId!=''){
|
||
_deviceId = deviceId;
|
||
}
|
||
if(longitude != '' && latitude != ''){
|
||
//map.clearOverlays();
|
||
var point = new BMap.Point(longitude, latitude);
|
||
var marker = new BMap.Marker(point);
|
||
//marker.addContextMenu(markerMenu);
|
||
var label = new BMap.Label("车牌:" + ambulanceNumber ,{ offset: new BMap.Size(20,-10) });
|
||
map.addOverlay(marker);
|
||
marker.setLabel(label);
|
||
var sContent ="<div><a href='hkvedioshow://deviceId:"+deviceId+"/'>打开视频</a></div>";
|
||
var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象
|
||
marker.addEventListener("click", function(){
|
||
this.openInfoWindow(infoWindow);
|
||
});
|
||
|
||
|
||
}
|
||
}
|
||
|
||
// 编写自定义函数,创建标注 -- 调用方式: addMarker(point,label);
|
||
function addMarker(point,label){
|
||
var marker = new BMap.Marker(point);
|
||
map.addOverlay(marker);
|
||
marker.setLabel(label);
|
||
}
|
||
|
||
function panTo(lng, lat){
|
||
var pt = new BMap.Point(lng, lat);
|
||
map.panTo(pt);
|
||
}
|
||
|
||
// 未使用
|
||
function deletePoint(){
|
||
var allOverlay = map.getOverlays();
|
||
for (var i = 0; i < allOverlay.length -1; i++){
|
||
if(allOverlay[i].getLabel().content == "我是id=1"){
|
||
map.removeOverlay(allOverlay[i]);
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
|
||
//添加覆盖物
|
||
function add_overlay(){
|
||
map.addOverlay(marker); //增加点
|
||
map.addOverlay(polyline); //增加折线
|
||
map.addOverlay(circle); //增加圆
|
||
map.addOverlay(polygon); //增加多边形
|
||
map.addOverlay(rectangle); //增加矩形
|
||
}
|
||
|
||
//清除覆盖物(OK)
|
||
function remove_overlay(){
|
||
map.clearOverlays();
|
||
}
|
||
|
||
var convertor = new BMap.Convertor();
|
||
var pointArr = [];
|
||
|
||
// 11处理偏移(OK)
|
||
function translateData(x, y){
|
||
pointArr = [];
|
||
var ggPoint = new BMap.Point(x*1, y*1);
|
||
pointArr.push(ggPoint);
|
||
convertor.translate(pointArr, 1, 5, translateCallback)
|
||
}
|
||
|
||
// 12处理偏移回调(OK)
|
||
//坐标转换完之后的回调函数
|
||
translateCallback = function(data){
|
||
if(data.status === 0) {
|
||
var marker = new BMap.Marker(data.points[0], {titile: "3救护车:" + _ambulanceNumber}); // 未启用
|
||
map.addOverlay(marker);
|
||
//map.panTo(data.points[0]);
|
||
}
|
||
}
|
||
|
||
function CorrectPoint(){
|
||
//string path = "http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=116.254615&y=29.814476";
|
||
}
|
||
|
||
// 定位功能的纠偏 步骤1
|
||
function translateData(x, y){
|
||
pointArr = [];
|
||
var ggPoint = new BMap.Point(x*1, y*1);
|
||
pointArr.push(ggPoint);
|
||
convertor.translate(pointArr, 1, 5, translateCallback); // 纠偏处理
|
||
}
|
||
|
||
// 定位功能的纠偏 步骤2
|
||
//坐标转换完之后的回调函数
|
||
translateCallbackOld = function(data){
|
||
if(data.status === 0) {
|
||
var marker = new BMap.Marker(data.points[0]);
|
||
//marker.setTitle("救护车:" + _ambulanceNumber+",设备号:"+_deviceId);
|
||
var label = new BMap.Label("2车牌号:" + _ambulanceNumber ,{offset:new BMap.Size(20,-10)});// 未启用
|
||
marker.setLabel(label);
|
||
//var marker = new BMap.Marker(data.points[0], {titile: "车牌号:" + _ambulanceNumber+",设备号:"+_deviceId});
|
||
map.addOverlay(marker);
|
||
map.panTo(data.points[0]);
|
||
}
|
||
}
|
||
|
||
// 20171201用于单个救护车的实时监控(good在用)
|
||
translateCallback = function(data){
|
||
if(data.status === 0) {
|
||
var marker = new BMap.Marker(data.points[0]);
|
||
//marker.addContextMenu(markerMenu);
|
||
var label = new BMap.Label("车牌:" + _ambulanceNumber ,{ offset: new BMap.Size(20,-10) });
|
||
map.addOverlay(marker);
|
||
marker.setLabel(label);
|
||
//map.panTo(data.points[0]);
|
||
|
||
var sContent ="<div><a href='hkvedioshow://deviceId:"+_deviceId+" /'>打开视频</a></div>";
|
||
var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象
|
||
marker.addEventListener("click", function(){
|
||
alert('ddddd');
|
||
//$('#a').click();
|
||
this.openInfoWindow(infoWindow);
|
||
});
|
||
}
|
||
}
|
||
|
||
function showCurve333(){
|
||
var start="";
|
||
for(k=0;k<=20;k++) {
|
||
start = "110.285400, 25.341431";
|
||
for(var i=0;i<2;i++){
|
||
start+=(';'+(110.285400+Math.random()*i/2000)+','+(25.341431+Math.random()*i/2000));
|
||
}
|
||
var polyline = new BMap.Polyline(start, {strokeColor:"green", strokeWeight:6, strokeOpacity:0.5});
|
||
map.addOverlay(polyline);
|
||
polyline.disableEditing(); //关闭线编辑功能
|
||
|
||
// 添加最后一个位置定位点
|
||
var marker = new BMap.Marker("110.285400, 25.341431");
|
||
map.addOverlay(marker);
|
||
map.panTo("110.285400, 25.341431");
|
||
}
|
||
}
|
||
|
||
// 在用
|
||
function showCurve(jsonData){
|
||
map.clearOverlays();
|
||
var start=jsonData;
|
||
var polyline = new BMap.Polyline(start, {strokeColor:"green", strokeWeight:6, strokeOpacity:0.5});
|
||
map.addOverlay(polyline);
|
||
polyline.disableEditing(); //关闭线编辑功能
|
||
|
||
// 添加最后一个位置定位点
|
||
//var marker = new BMap.Marker("110.288330, 25.352711");
|
||
//map.addOverlay(marker);
|
||
//map.panTo("110.288330, 25.352711");
|
||
}
|
||
|
||
function showCurve(jsonData, lastPoint){
|
||
map.clearOverlays();
|
||
var start=jsonData;
|
||
var polyline = new BMap.Polyline(start, {strokeColor:"green", strokeWeight:6, strokeOpacity:0.5});
|
||
map.addOverlay(polyline);
|
||
polyline.disableEditing(); //关闭线编辑功能
|
||
|
||
// 添加最后一个位置定位点
|
||
var marker = new BMap.Marker(new BMap.Point(lastPoint));
|
||
map.addOverlay(marker);
|
||
map.panTo("110.288330, 25.352711");
|
||
}
|
||
|
||
// 在用
|
||
function showCurve(jsonData, lng, lat){
|
||
map.clearOverlays();
|
||
var start=jsonData;
|
||
var polyline = new BMap.Polyline(start, {strokeColor:"green", strokeWeight:6, strokeOpacity:0.5});
|
||
map.addOverlay(polyline);
|
||
polyline.disableEditing(); //关闭线编辑功能
|
||
|
||
// 添加最后一个位置定位点
|
||
var marker = new BMap.Marker(new BMap.Point(parseFloat(lng),parseFloat(lat)));
|
||
map.addOverlay(marker);
|
||
//map.panTo(new BMap.Point(parseFloat(lng),parseFloat(lat)));
|
||
}
|
||
|
||
function showCurve555(){
|
||
var start="110.285400, 25.341431; 110.285568, 25.343287; 110.285759, 25.345022; 110.285927, 25.346359; 110.286186, 25.348286; 110.286591, 25.349947; 110.287552, 25.351511; 110.288330, 25.352711";
|
||
var polyline = new BMap.Polyline(start, {strokeColor:"green", strokeWeight:6, strokeOpacity:0.5});
|
||
map.addOverlay(polyline);
|
||
polyline.disableEditing(); //关闭线编辑功能
|
||
|
||
// 添加最后一个位置定位点
|
||
var marker = new BMap.Marker("110.288330, 25.352711");
|
||
map.addOverlay(marker);
|
||
map.panTo("110.288330, 25.352711");
|
||
}
|
||
|
||
// 轨迹回放功能 提供给外部调用
|
||
function showCurve111(jsonData){
|
||
var points = [
|
||
new BMap.Point(110.285400, 25.341431),
|
||
new BMap.Point(110.285568, 25.343287),
|
||
new BMap.Point(110.285759, 25.345022),
|
||
new BMap.Point(110.285927, 25.346359),
|
||
new BMap.Point(110.286186, 25.348286),
|
||
new BMap.Point(110.286591, 25.349947),
|
||
new BMap.Point(110.287552, 25.351511),
|
||
new BMap.Point(110.288330, 25.352711)
|
||
];
|
||
translateBatchPoints(points);
|
||
}
|
||
|
||
// 轨迹回放功能 步骤1
|
||
function showCurve222(){
|
||
var points = [
|
||
new BMap.Point(110.285400, 25.341431),
|
||
new BMap.Point(110.285568, 25.343287),
|
||
new BMap.Point(110.285759, 25.345022),
|
||
new BMap.Point(110.285927, 25.346359),
|
||
new BMap.Point(110.286186, 25.348286),
|
||
new BMap.Point(110.286591, 25.349947),
|
||
new BMap.Point(110.287552, 25.351511),
|
||
new BMap.Point(110.288330, 25.352711)
|
||
];
|
||
|
||
/* C#
|
||
var my_points = [];
|
||
// 每次取出两个
|
||
for(int i = 0, i = points.length; i <= n/2; i+=2){
|
||
if(i!=2){// 每次取出两个
|
||
my_points.push(points[i]);
|
||
my_points.push(points[i+1]);
|
||
translateBatchPoints(my_points);
|
||
}else{// 取出最后数据
|
||
int c = n % 2;
|
||
for(int j = c; j > 0; j--){
|
||
my_points.push(points[n-j]);
|
||
}
|
||
translateBatchPoints(my_points);
|
||
}
|
||
}
|
||
*/
|
||
|
||
translateBatchPoints(points);
|
||
}
|
||
|
||
// 轨迹回放功能 步骤2
|
||
function translateBatchPoints(points){
|
||
convertor.translate(points, 1, 5, translateBatchCallback);
|
||
}
|
||
|
||
//坐标转换完之后的回调函数 轨迹回放功能 步骤3
|
||
translateBatchCallback1 = function (data){
|
||
var new_points = [];
|
||
if(data.status === 0) {
|
||
map.clearOverlays();
|
||
for (var i = 0; i < data.points.length; i++) {
|
||
new_points.push(data.points[i]);
|
||
|
||
var polyline = new BMap.Polyline(new_points, {strokeColor:"green", strokeWeight:6, strokeOpacity:0.5}); //创建折线
|
||
map.addOverlay(polyline); //添加到地图中
|
||
//polyline.enableEditing(); // 开启线编辑功能
|
||
polyline.disableEditing(); //关闭线编辑功能
|
||
}
|
||
// 添加最后一个位置定位点
|
||
var marker = new BMap.Marker(new_points[new_points.length-1]);
|
||
map.addOverlay(marker);
|
||
map.panTo(new_points[new_points.length-1]);
|
||
}
|
||
}
|
||
|
||
//坐标转换完之后的回调函数 轨迹回放功能 步骤3-0
|
||
translateBatchCallback = function (data){
|
||
var new_points = [];
|
||
if(data.status === 0) {
|
||
map.clearOverlays();
|
||
for (var i = 0; i < data.points.length; i++) {
|
||
new_points.push(data.points[i]);
|
||
|
||
var polyline = new BMap.Polyline(new_points, {strokeColor:"green", strokeWeight:6, strokeOpacity:0.5}); //创建折线
|
||
map.addOverlay(polyline); // 添加到地图中
|
||
//polyline.enableEditing(); // 开启线编辑功能
|
||
polyline.disableEditing(); // 关闭线编辑功能
|
||
}
|
||
// 添加最后一个位置定位点
|
||
var marker = new BMap.Marker(new_points[new_points.length-1]);
|
||
map.addOverlay(marker);
|
||
map.panTo(new_points[new_points.length-1]);
|
||
}
|
||
}
|
||
|
||
// 轨迹回放功能原始
|
||
function showCurvePrimary(){ // points
|
||
var points = [
|
||
new BMap.Point(110.285400, 25.341431),
|
||
new BMap.Point(110.285568, 25.343287),
|
||
new BMap.Point(110.285759, 25.345022),
|
||
new BMap.Point(110.285927, 25.346359),
|
||
new BMap.Point(110.286186, 25.348286),
|
||
new BMap.Point(110.286591, 25.349947),
|
||
new BMap.Point(110.287552, 25.351511),
|
||
new BMap.Point(110.288330, 25.352711)
|
||
];
|
||
|
||
var curve = new BMapLib.CurveLine(points, {strokeColor:"green", strokeWeight:6, strokeOpacity:0.5}); //创建弧线对象
|
||
map.addOverlay(curve); //添加到地图中
|
||
curve.enableEditing(); //开启编辑功能
|
||
|
||
}
|
||
|
||
// 不使用
|
||
function curveLineCallBack(points){
|
||
// 回调用
|
||
var curve = new BMapLib.CurveLine(points, {strokeColor:"green", strokeWeight:6, strokeOpacity:0.5}); //创建弧线对象
|
||
map.addOverlay(curve); //添加到地图中
|
||
curve.enableEditing(); //开启编辑功能
|
||
}
|
||
|
||
// 滚动鼠标放大
|
||
function enableScrollWheelZoom(){
|
||
map.enableScrollWheelZoom(true);
|
||
}
|
||
|
||
//
|
||
function BD_ShowCarRun(startPointX,startPointY,endPointX,endPointY){
|
||
//var myP1 = new BMap.Point(116.380967,39.913285); //起点
|
||
//var myP2 = new BMap.Point(116.424374,39.914668); //终点
|
||
////if(myP1 != null && myP2 != null){
|
||
//// map.clearOverly();
|
||
////}
|
||
var myP1 = new BMap.Point(parseFloat(startPointX),parseFloat(startPointY)); //起点
|
||
var myP2 = new BMap.Point(parseFloat(endPointX),parseFloat(endPointY)); //终点
|
||
|
||
var myIcon = new BMap.Icon("定位.png", new BMap.Size(32, 70), { //小车图片
|
||
//offset: new BMap.Size(0, -5), //相当于CSS精灵
|
||
imageOffset: new BMap.Size(0, 0) //图片的偏移量。为了是图片底部中心对准坐标点。
|
||
});
|
||
var driving2 = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: true}}); //驾车实例
|
||
driving2.search(myP1, myP2); //显示一条公交线路
|
||
|
||
window.run = function (){
|
||
var driving = new BMap.DrivingRoute(map); //驾车实例
|
||
driving.search(myP1, myP2);
|
||
driving.setSearchCompleteCallback(function(){
|
||
var pts = driving.getResults().getPlan(0).getRoute(0).getPath(); //通过驾车实例,获得一系列点的数组
|
||
var paths = pts.length; //获得有几个点
|
||
|
||
var carMk = new BMap.Marker(pts[0],{icon:myIcon});
|
||
map.addOverlay(carMk);
|
||
i=0;
|
||
function resetMkPoint(i){
|
||
carMk.setPosition(pts[i]);
|
||
if(i < paths){
|
||
setTimeout(function(){
|
||
i++;
|
||
resetMkPoint(i);
|
||
},100);
|
||
}
|
||
}
|
||
setTimeout(function(){
|
||
resetMkPoint(5);
|
||
},100)
|
||
|
||
});
|
||
}
|
||
setTimeout(function(){
|
||
run();
|
||
},1500);
|
||
}
|
||
|
||
function BD_ShowCarRuns(){
|
||
var myP1 = new BMap.Point(116.380967,39.913285); //起点
|
||
var myP2 = new BMap.Point(116.424374,39.914668); //终点
|
||
var myIcon = new BMap.Icon("http://lbsyun.baidu.com/jsdemo/img/Mario.png", new BMap.Size(32, 70), { //小车图片
|
||
//offset: new BMap.Size(0, -5), //相当于CSS精灵
|
||
imageOffset: new BMap.Size(0, 0) //图片的偏移量。为了是图片底部中心对准坐标点。
|
||
});
|
||
var driving2 = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: true}}); //驾车实例
|
||
driving2.search(myP1, myP2); //显示一条公交线路
|
||
|
||
window.run = function (){
|
||
var driving = new BMap.DrivingRoute(map); //驾车实例
|
||
driving.search(myP1, myP2);
|
||
driving.setSearchCompleteCallback(function(){
|
||
var pts = driving.getResults().getPlan(0).getRoute(0).getPath(); //通过驾车实例,获得一系列点的数组
|
||
var paths = pts.length; //获得有几个点
|
||
|
||
var carMk = new BMap.Marker(pts[0],{icon:myIcon});
|
||
map.addOverlay(carMk);
|
||
i=0;
|
||
function resetMkPoint(i){
|
||
carMk.setPosition(pts[i]);
|
||
if(i < paths){
|
||
setTimeout(function(){
|
||
i++;
|
||
resetMkPoint(i);
|
||
},100);
|
||
}
|
||
}
|
||
setTimeout(function(){
|
||
resetMkPoint(5);
|
||
},100)
|
||
|
||
});
|
||
}
|
||
|
||
setTimeout(function(){
|
||
run();
|
||
},1500);
|
||
}
|
||
|
||
function ShowCurve1(){
|
||
var beijingPosition=new BMap.Point(116.432045,39.910683),
|
||
hangzhouPosition=new BMap.Point(120.129721,30.314429),
|
||
taiwanPosition=new BMap.Point(121.491121,25.127053);
|
||
var points = [beijingPosition,hangzhouPosition, taiwanPosition];
|
||
|
||
var curve = new BMapLib.CurveLine(points, {strokeColor:"green", strokeWeight:6, strokeOpacity:0.5}); //创建弧线对象
|
||
map.addOverlay(curve); //添加到地图中
|
||
curve.enableEditing(); //开启编辑功能
|
||
|
||
}
|
||
|
||
// 编写自定义函数,创建标注_New
|
||
function addCar(lng, lat, labelname){
|
||
var label = new BMap.Label(labelname,{offset:new BMap.Size(20,-10)});
|
||
var point = new BMap.Point(lng, lat);
|
||
var marker = new BMap.Marker(point);
|
||
map.addOverlay(marker);
|
||
marker.setLabel(label);
|
||
//var sContent ="<div><a href='myapp://'>open HLJW.PC.IVMS.Client</a></div>";
|
||
var sContent ="<div><a href='hkvedioshow://cid:110&username:labelname/'>打开视频</a></div>";
|
||
var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象
|
||
marker.addEventListener("click", function(){
|
||
this.openInfoWindow(infoWindow);
|
||
////图片加载完毕重绘infowindow
|
||
//document.getElementById('image').onload = function (){
|
||
// infoWindow.redraw(); //防止在网速较慢,图片未加载时,生成的信息框高度比图片的总高度小,导致图片部分被隐藏
|
||
//}
|
||
});
|
||
|
||
}
|
||
|
||
// 编写自定义函数,创建标注_New
|
||
function addCar(lng, lat, carNumber, deviceId){
|
||
_ambulanceNumber = carNumber;
|
||
_deviceId = deviceId;
|
||
var label = new BMap.Label(carNumber,{offset:new BMap.Size(20,-10)});
|
||
var point = new BMap.Point(lng, lat);
|
||
var marker = new BMap.Marker(point);
|
||
map.addOverlay(marker);
|
||
marker.setLabel(label);
|
||
//var sContent ="<div><a href='myapp://'>open HLJW.PC.IVMS.Client</a></div>";
|
||
var sContent ="<div><a href='hkvedioshow://deviceId:"+_deviceId+"/'>打开视频</a></div>";
|
||
var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象
|
||
marker.addEventListener("click", function(){
|
||
this.openInfoWindow(infoWindow);
|
||
////图片加载完毕重绘infowindow
|
||
//document.getElementById('image').onload = function (){
|
||
// infoWindow.redraw(); //防止在网速较慢,图片未加载时,生成的信息框高度比图片的总高度小,导致图片部分被隐藏
|
||
//}
|
||
});
|
||
}
|
||
|
||
// _New
|
||
function deleteCar(labelname){
|
||
var allOverlay = map.getOverlays();
|
||
for (var i = 0; i < allOverlay.length -1; i++){
|
||
if(allOverlay[i].getLabel().content == labelname){
|
||
map.removeOverlay(allOverlay[i]);
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|