GPS、基站定位在百度地图上纠偏的解决方法

1.加入convertor.js文件

<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=1.4"></script>
<script type="text/javascript" src="http://dev.baidu.com/wiki/static/map/API/examples/script/convertor.js"></script>

2.添加百度地图标注

function loadMarker(x,y,oap_name){
	if(!x){return}
	//纠正gps偏差

	var iconv="../../../icons/access_point_b64.gif";
	var iconu="../../../icons/access_point_r64.gif";
	var iconSize = new BMap.Size(64, 64);//标注图片大小
	var offsetSize = new BMap.Size(32, 32);//偏移位
	//var point = new BMap.Point(x,y);
	var icon = new BMap.Icon(iconv,iconSize, {
		anchor:offsetSize
	});
	translateCallback = function (point) {
		map.clearOverlays();
		map.setCenter(point);
		var marker = new BMap.Marker(point, {icon:icon});

		marker.addEventListener("mouseover", function(){
			this.setIcon(new BMap.Icon(iconu,iconSize,{anchor:offsetSize}));
		});

		marker.addEventListener("mouseout", function () {
			this.setIcon(new BMap.Icon(iconv,iconSize,{
				anchor:offsetSize
			}));
		});	

		map.centerAndZoom(point,16);

		map.addOverlay(marker);

		var gc = new BMap.Geocoder();

		var infoWindow1=null;
		gc.getLocation(point, function(rs){
			var addComp = rs.addressComponents;
			infoWindow1 = new BMap.InfoWindow("<div style=‘margin-top: 13px;font-size:15px;color:red;font-weight:bold;‘>"+oap_name+"</div><div style=‘margin-top: 5px;font-size: 13px;‘>地址:"+addComp.province + addComp.city +  addComp.district +  addComp.street + addComp.streetNumber+"<br/>经度:"+x+"<br/>纬度:"+y+"</div>");
			marker1.openInfoWindow(infoWindow1);
		});
		marker.addEventListener("click", function(){this.openInfoWindow(infoWindow1);});
	}

	BMap.Convertor.translate(new BMap.Point(x, y), 0, translateCallback);
}

3.最终显示结果如下:

大功告成。

时间: 2024-10-24 11:43:20

GPS、基站定位在百度地图上纠偏的解决方法的相关文章

html5定位并在百度地图上显示

在开发移动端 web 或者webapp时,使用百度地图 API 的过程中,经常需要通过手机定位获取当前位置并在地图上居中显示出来,这就需要用到html5的地理定位功能. navigator.geolocation.getCurrentPosition(callback); 在获取坐标成功之后会执行回调函数 callback; callback 方法的参数就是获取到的坐标点:然后可以初始化地图,设置控件.中心点.缩放等级,然后给地图添加point的overlay: var map = new BM

利用HTML5定位功能,实现在百度地图上定位

利用HTML5定位功能,实现在百度地图上定位 代码如下: <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>HTML5定位</title>     <script type="text/javascript" src="http://lib.sinaapp

利用HTML5定位功能,实现在百度地图上定位(转)

原文:利用HTML5定位功能,实现在百度地图上定位 代码如下: 测试浏览器:ie11定位成功率100%,Safari定位成功率97%,(add by zhj :在手机上测试(用微信内置浏览器打开),无论使用WIFI还是移动4G联网, 定位精度都是蛮高的,误差在几十米内) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>

HTML5地理定位,百度地图API,知识点熟悉

判断浏览器的兼容问题: IE9+支持地理定位,FF Chrome新版支持地理定位  if (navigator.geolocation) { alert('支持地理定位'); } else { alert('不支持地理定位'); } 获取自己位置经纬度 <script> var x=document.getElementById("wrap"); function getLocation () { if (navigator.geolocation) { navigator

百度地图+Marker纠偏

百度地图+Marker纠偏 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=

百度地图上自定义图片覆盖物上加点击事件

在百度地图上加自定义图片覆盖物之后,在这个覆盖物上加点击手势,发现并不识别.原因不太清楚.不过可以通过别的方法来实现这个功能. 需要用到BMKMapViewDelegate中的方法: - (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate 然后判断所点击的坐标是否在指定区域内,在指定区域内之后,调用自己写的相应地方法即可. 百度地图上自定义图片覆盖物上加点击事件,布布扣,

百度地图上的行政区域内部颜色的动态改变

今天刚完成百度地图上的行政区域内部颜色的动态改变(随时间).虽然能基本实现功能,但每次改变颜色时都要重新加载覆盖物(行政区域). 全部源代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w

Eclipse中输入变量会自动补全上屏的解决方法

我自己在启动Eclipse代码补全后输入感觉确实爽多了,但是每次输入变量后一按下空格,编译器会自己帮你写一个很蛋疼的名字,比如你输入了:String mStr后按下空格,它就变成了mString,十分讨厌.下面是正规的解决办法,但是经过我反复折腾,我实在没办法把插件的源码显示到工程中.于是偷个懒去网上下载了已经修改好的jar包,成功搞定. 我自己复制jar包的目录是:D:\Work Appliactions\adt-bundle-windows-x86-20140702\eclipse\plug

手机连接不上笔记本热点解决方法

近日为了解决手机连接不上笔记本热点的问题,真可谓是大费周章,原本想先大吐苦水,可是时间关系还是直奔着主题去吧.描述一下问题先,手机上个月还是能好好的连上笔记本电脑热点的,说明一下热点是用win7笔记本命令行设置的,最近莫名其妙的就连不上了,在网上找了各种各样的方法都没有得到解决.最后把热点disallow,再重新设置一次就把问题解决了.初步定义问题的原因为keyUsage没有设置导致密码过期,在设置热点:netsh wlan set hostednetwork mode=allow ssid=w