//document.getElementById("demo").innerHTML='hello baidu map';
// 百度地图API功能
var map = new BMap.Map("allmap"); // 创建Map实例
//添加拖拽和缩放功能
map.enableScrollWheelZoom(true);
map.enableDragging();
//添加控件和比例尺
var top_right_control = new BMap.ScaleControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT });// 左下角,添加比例尺
var top_right_navigation = new BMap.NavigationControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT }); //左下角,添加默认缩放平移控件
map.addControl(top_right_control);
map.addControl(top_right_navigation);
//添加地图类型
var mapType1 = new BMap.MapTypeControl({ mapTypes: [BMAP_NORMAL_MAP, BMAP_HYBRID_MAP] });
var mapType2 = new BMap.MapTypeControl({ anchor: BMAP_ANCHOR_TOP_LEFT });
//添加地图类型和缩略图
map.addControl(mapType1); //2D图,卫星图
map.addControl(mapType2); //左上角,默认地图控件
var drawtrail = 0;
var grotation = 0;
//创建点
//map.clearOverlays();
var point = new BMap.Point(117.355, 39.066);
var markerCur = new BMap.Marker(point);
var markerObj = new BMap.Marker(point);
var havepointlast = 0;
var pointlast = new BMap.Point(116,39);
var pointobj = new BMap.Point(116,39);
var bobjset = 0;
var gtracelist = [];
var gtraceraw = [];
var tracenow = 0;
var tracenum = 0;
map.centerAndZoom(point, 18);
var convertor = new BMap.Convertor();
var polylineTrace;
/*
var polylineTrace =new BMap.Polyline(gtracelist, {
enableEditing: false,//是否启用线编辑,默认为false
enableClicking: false,//是否响应点击事件,默认为true
strokeWeight:'4',//折线的宽度,以像素为单位
strokeOpacity: 0.8,//折线的透明度,取值范围0 - 1
strokeColor:"red" //折线颜色
});*/
//var marker = new BMap.Marker(point); // 创建标注
//map.addOverlay(marker); // 将标注添加到地图中
//根据IP定位城市
function myFun(result) {
var cityName = result.name;
map.setCenter(cityName);
}
var myCity = new BMap.LocalCity();
myCity.get(myFun);
var icon = new BMap.Icon('car.png',new BMap.Size(15,30));
icon.imageSize = new BMap.Size(15,30);
icon.anchor = new BMap.Size(8,15);
//showalert(testmsg);
//对传入的经纬度进行标注:纬度,经度
// var Latt = 116.404;
// var Lott = 39.915;
// theLocation(Latt, Lott);
// testAlert();
function SetDrawTrail(x)
{
if(x == 1)drawtrail = 1;
else drawtrail = 0;
}
function clear()
{
gtracelist = [];
}
// 用经纬度设置地图中心点
function objLocation(Longitude,Latitude) {
var gpsPoint = new BMap.Point(Longitude, Latitude);
var pointArr = [];
pointArr.push(gpsPoint);
convertor.translate(pointArr, 1, 5, translateCallbackobj)
//gps坐标纠偏
// BMap.Convertor.translate(gpsPoint, 0, translateCallbackobj); //真实经纬度转成百度坐标
}
// 用经纬度设置地图中心点
function theLocation(Longitude,Latitude,rotation) {
grotation = rotation;
var gpsPoint = new BMap.Point(Longitude, Latitude);
//gps坐标纠偏
var pointArr = [];
pointArr.push(gpsPoint);
convertor.translate(pointArr, 1, 5, translateCallback)
//convertor.translate(gpsPoint, 0, translateCallback); //真实经纬度转成百度坐标
// BMap.Convertor.translate(gpsPoint, 0, translateCallback); //真实经纬度转成百度坐标
//map.clearOverlays();
//var new_point = new BMap.Point(Longitude,Latitude );
//var marker = new BMap.Marker(new_point); // 创建标注
//map.addOverlay(marker); // 将标注添加到地图中
//map.panTo(new_point);
//marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
}
function settrace(numlist,num2list) //仅把qt传来的数组转换成可用的list
{
//alert(numlist);
var num_list,num2_list; //以下为格式转换,分割成可用的数组
num_list = numlist.substring(1,numlist.length-1);
num2_list = num2list.substring(1,num2list.length-1);
num_list = num_list.split(",");
num2_list = num2_list.split(",");
//alert("the num_list is: "+num_list[0]+" "+num_list[1]);
gtraceraw = [];
gtracelist = [];
for(i=0;i=10)break;
}
if(index>0)
{
convertor.translate(tracelist, 1,5,translateCallbacktrace); //真实经纬度转成百度坐标
}
}
translateCallbacktrace = function (data){
if(data.status == 0) {
for (var i = 0; i < data.points.length; i++) {
gtracelist.push(data.points[i]);
}
tracenow = tracenow + data.points.length;
}
map.removeOverlay(polylineTrace);
polylineTrace =new BMap.Polyline(gtracelist, {
enableEditing: false,//是否启用线编辑,默认为false
enableClicking: false,//是否响应点击事件,默认为true
strokeWeight:'4',//折线的宽度,以像素为单位
strokeOpacity: 0.8,//折线的透明度,取值范围0 - 1
strokeColor:"red" //折线颜色
});
map.addOverlay(polylineTrace); //增加折线
setTimeout("converttrace()", 250);// 调用画轨迹的函数
}
// 用经纬度设置地图中心点
function testAlert(msg) {
var str = new String;
str = msg.toString()
// str = "test"
alert(str);
}
function enableZoomDrag()
{
//添加拖拽和缩放功能
map.enableScrollWheelZoom(true);
map.enableDragging();
}
//坐标转换完之后的回调函数
translateCallbackmap = function (point) {
gtracelist.push(point);
// map.setCenter(point);
// marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
}
//坐标转换完之后的回调函数
translateCallbacktr = function (point) {
gtracelist.push(point);
// map.setCenter(point);
// marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
}
//坐标转换完之后的回调函数
translateCallbackobj = function (data) {
if(data.status === 0) {
var point = data.points[0];
pointobj = point;
bobjset = 1;
// map.clearOverlays();
map.removeOverlay(markerObj);
markerObj = new BMap.Marker(point);
map.addOverlay(markerObj);
}
// map.setCenter(point);
// marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
}
//坐标转换完之后的回调函数
translateCallback = function (data) {
if(data.status === 0) {
var point = data.points[0]
map.removeOverlay(markerCur);
markerCur = new BMap.Marker(point);
if(havepointlast == 1)
{
if(drawtrail == 1)
{
var line = new BMap.Polyline([pointlast, point], {strokeColor: "green", strokeWeight: 1, strokeOpacity: 1});
map.addOverlay(line);
line.disableMassClear();
}
}
pointlast = point;
havepointlast = 1;
markerCur.setOffset(-30,-30);
markerCur.setIcon(icon);
markerCur.setShadow(icon)
markerCur.setRotation(grotation);
map.addOverlay(markerCur);
map.setCenter(point);
}
// return;
// map.clearOverlays();
/*
if(bobjset == 1)
{
map.removeOverlay(markerObj);
markerObj = new BMap.Marker(pointobj);
map.addOverlay(markerObj);
}
*/
// marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
}