求教坐标转换方法convertor.posttranslate参数的各个参数的意思

5535人阅读
JavaScript(33)
转自:/0banana0/archive//3395108.html
首先看官方是怎么说的
4.3 百度坐标为何有偏移?
国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密。百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私。百度对外接口的坐标系并不是GPS采集的真实经纬度,需要通过坐标转换接口进行转换。
然后看这位怎么说的
下面简单介绍下经纬度坐标偏移问题的解决方法,这个官方说法是因为百度在国家标准的加密算法的基础上又进行了一次加密导致的,解决方案需要询问百度。这里有一个百度hi群的群号:1306508,有问题的可以加群里问,不过一般也会被告知这个需要合作伙伴才可以告诉,很郁闷。
  我是发邮件给才获得了解决方法,也是通过一个网址,将待转换的经纬度以url参数的形式传递进去,打开的页面是经过了Base64形式的校正经纬度坐标,实验了一下还挺准确的。之前在互联网上查到过一个网址,不过都说已经被百度停止服务了,不过对比了一下和百度给我的网址,发现并没有停止服务,而是对参数名称进行了改变。。。具体的网址我就不便多说了(其实是掩耳盗铃),跟百度沟通应该就可以获取得到~
最后呀在这里找到答案
http:///baidu-maps-api-map-coordinate-conversion.html
贴上代码备用
&!DOCTYPE html&
&meta name=&viewport& content=&initial-scale=1.0, user-scalable=no& /&
&meta http-equiv=&Content-Type& content=&text/ charset=utf-8& /&
&title&GIS开发利用html5获取经纬度并在百度地图中查看&/title&
&!--加载百度 map api--&
&script type=&text/javascript& src=&http://api./api?v=1.5&ak=68acb2624&&&/script&
&script type=&text/javascript& src=&/map/jsdemo/demo/convertor.js&&&/script&
&span id=&support&&将下面的经纬度输入谷歌地图:&/span&
&div id=&show&&
纬度:&span id=&latitude&&&/span&&br /&
经度:&span id=&longitude&&&/span&&br /&
准确度:&span id=&accuracy&&&/span&
&div id=&map_canvas& style=&width:500 height:500&&&/div&
&script type=&text/javascript&&
var doc = document,
latitude = doc.getElementById('latitude'),
longitude = doc.getElementById('longitude'),
accuracy = doc.getElementById('accuracy'),
support = doc.getElementById('support'),
showDiv = doc.getElementById('show');
var map = new BMap.Map(&map_canvas&);
function lodeSupport(){
if(navigator.geolocation){
support.innerHTML = '将下面的经纬度输入谷歌地图(纬度 经度)查看自己位置:';
showDiv.style.display = 'block';
navigator.geolocation.getCurrentPosition(updataPosition);
support.innerHTML = '对不起,浏览器不支持!';
showDiv.style.display = 'none';
function updataPosition(position){
var latitudeP = position.coords.latitude,
longitudeP = position.coords.longitude,
accuracyP = position.coords.
latitude.innerHTML = latitudeP;
longitude.innerHTML = longitudeP;
accuracy.innerHTML = accuracyP;
//在百度 map中显示地址
var point = new BMap.Point(longitudeP , latitudeP);
// 创建点坐标
map.centerAndZoom(point, 15);// 初始化地图,设置中心点坐标和地图级别
var marker = new BMap.Marker(point);
map.addOverlay(marker);
BMap.Convertor.translate(point,0,translateCallback);
//真实经纬度转成百度坐标
//坐标转换完之后的回调函数
function translateCallback(point1){
var marker1 = new BMap.Marker(point1);
map.addOverlay(marker1);
var label = new BMap.Label(&转换后的百度坐标&,{offset:new BMap.Size(20,-10)});
marker1.setLabel(label); //添加百度label
map.setCenter(point1);
window.addEventListener('load', lodeSupport , true);
convertor.js
(function(){
function load_script(xyUrl, callback){
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = xyU
//借鉴了jQuery的script跨域方法
script.onload = script.onreadystatechange = function(){
if((!this.readyState || this.readyState === &loaded& || this.readyState === &complete&)){
callback && callback();
// Handle memory leak in IE
script.onload = script.onreadystatechange = null;
if ( head && script.parentNode ) {
head.removeChild( script );
// Use insertBefore instead of appendChild
to circumvent an IE6 bug.
head.insertBefore( script, head.firstChild );
function translate(point,type,callback){
var callbackName = 'cbk_' + Math.round(Math.random() * 10000);
//随机函数名
var xyUrl = &http://api./ag/coord/convert?from=&+ type + &&to=4&x=& + point.lng + &&y=& + point.lat + &&callback=BMap.Convertor.& + callbackN
//动态创建script标签
load_script(xyUrl);
BMap.Convertor[callbackName] = function(xyResult){
delete BMap.Convertor[callbackName];
//调用完需要删除改函数
var point = new BMap.Point(xyResult.x, xyResult.y);
callback && callback(point);
window.BMap = window.BMap || {};
BMap.Convertor = {};
BMap.Convertor.translate =
嘿嘿嘿 & & &转换的地址是这个
var xyUrl = &http://api./ag/coord/convert?from=&+ type + &&to=4&x=& + point.lng + &&y=& + point.lat + &&callback=BMap.Convertor.& + callbackN
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3472793次
积分:28356
积分:28356
排名:第141名
原创:20篇
转载:991篇
评论:397条
(10)(3)(2)(1)(4)(5)(10)(1)(7)(13)(6)(4)(3)(9)(10)(3)(13)(6)(22)(14)(13)(19)(26)(50)(9)(12)(13)(47)(22)(31)(29)(18)(26)(12)(6)(23)(5)(12)(4)(10)(12)(79)(44)(86)(12)(9)(7)(21)(6)(10)(14)(23)(30)(4)(1)(3)(5)(3)(9)(2)(16)(3)(17)(5)(5)(8)(2)(3)(3)(20)(10)(14)(3)百度地图JS版BMap.Convertor.translate()方法_百度地图api吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:5,372贴子:
百度地图JS版BMap.Convertor.translate()方法收藏
今天用百度地图JS版开发时,使用BMap.Convertor.translate(),提示找不到该方法,请问是怎么回事呀?
野狗实时数据同步SDK用于实时物流,交通出行等应用,可实现实时定位和实时消息推送.按需付费,0元试用.即将与高德合作推出下一代实时地图SDK. 注册野狗即可提前试用.
一楼自己坐
我也是这个问题啊
仔细看了一下,他是还引入了一个js文件,convertor.js 引入这个, BMap 就可以了,问题已经解决
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或首先看官方是怎么说的
4.3 百度坐标为何有偏移?
国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密。百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私。百度对外接口的坐标系并不是GPS采集的真实经纬度,需要通过坐标转换接口进行转换。
然后看这位怎么说的
下面简单介绍下经纬度坐标偏移问题的解决方法,这个官方说法是因为百度在国家标准的加密算法的基础上又进行了一次加密导致的,解决方案需要询问百度。这里有一个百度hi群的群号:1306508,有问题的可以加群里问,不过一般也会被告知这个需要合作伙伴才可以告诉,很郁闷。
  我是发邮件给才获得了解决方法,也是通过一个网址,将待转换的经纬度以url参数的形式传递进去,打开的页面是经过了Base64形式的校正经纬度坐标,实验了一下还挺准确的。之前在互联网上查到过一个网址,不过都说已经被百度停止服务了,不过对比了一下和百度给我的网址,发现并没有停止服务,而是对参数名称进行了改变。。。具体的网址我就不便多说了(其实是掩耳盗铃),跟百度沟通应该就可以获取得到~
最后呀在这里找到答案
http:///baidu-maps-api-map-coordinate-conversion.html
贴上代码备用
&!DOCTYPE html&
&meta name="viewport" content="initial-scale=1.0, user-scalable=no" /&
&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&
&title&GIS开发利用html5获取经纬度并在百度地图中查看&/title&
&!--加载百度 map api--&
&script type="text/javascript" src="http://api./api?v=1.5&ak=68acb2624"&&/script&
&script type="text/javascript" src="/map/jsdemo/demo/convertor.js"&&/script&
&span id="support"&将下面的经纬度输入谷歌地图:&/span&
&div id="show"&
纬度:&span id="latitude"&&/span&&br /&
经度:&span id="longitude"&&/span&&br /&
准确度:&span id="accuracy"&&/span&
&div id="map_canvas" style="width:500 height:500"&&/div&
&script type="text/javascript"&
var doc = document,
latitude = doc.getElementById('latitude'),
longitude = doc.getElementById('longitude'),
accuracy = doc.getElementById('accuracy'),
support = doc.getElementById('support'),
showDiv = doc.getElementById('show');
var map = new BMap.Map("map_canvas");
function lodeSupport(){
if(navigator.geolocation){
support.innerHTML = '将下面的经纬度输入谷歌地图(纬度 经度)查看自己位置:';
showDiv.style.display = 'block';
navigator.geolocation.getCurrentPosition(updataPosition);
support.innerHTML = '对不起,浏览器不支持!';
showDiv.style.display = 'none';
function updataPosition(position){
var latitudeP = position.coords.latitude,
longitudeP = position.coords.longitude,
accuracyP = position.coords.
latitude.innerHTML = latitudeP;
longitude.innerHTML = longitudeP;
accuracy.innerHTML = accuracyP;
//在百度 map中显示地址
var point = new BMap.Point(longitudeP , latitudeP);
// 创建点坐标
map.centerAndZoom(point, 15);// 初始化地图,设置中心点坐标和地图级别
var marker = new BMap.Marker(point);
map.addOverlay(marker);
BMap.Convertor.translate(point,0,translateCallback);
//真实经纬度转成百度坐标
//坐标转换完之后的回调函数
function translateCallback(point1){
var marker1 = new BMap.Marker(point1);
map.addOverlay(marker1);
var label = new BMap.Label("转换后的百度坐标",{offset:new BMap.Size(20,-10)});
marker1.setLabel(label); //添加百度label
map.setCenter(point1);
window.addEventListener('load', lodeSupport , true);
convertor.js
(function(){
function load_script(xyUrl, callback){
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = xyU
//借鉴了jQuery的script跨域方法
script.onload = script.onreadystatechange = function(){
if((!this.readyState || this.readyState === "loaded" || this.readyState === "complete")){
callback && callback();
// Handle memory leak in IE
script.onload = script.onreadystatechange = null;
if ( head && script.parentNode ) {
head.removeChild( script );
// Use insertBefore instead of appendChild
to circumvent an IE6 bug.
head.insertBefore( script, head.firstChild );
function translate(point,type,callback){
var callbackName = 'cbk_' + Math.round(Math.random() * 10000);
//随机函数名
var xyUrl = "http://api./ag/coord/convert?from="+ type + "&to=4&x=" + point.lng + "&y=" + point.lat + "&callback=BMap.Convertor." + callbackN
//动态创建script标签
load_script(xyUrl);
BMap.Convertor[callbackName] = function(xyResult){
delete BMap.Convertor[callbackName];
//调用完需要删除改函数
var point = new BMap.Point(xyResult.x, xyResult.y);
callback && callback(point);
window.BMap = window.BMap || {};
BMap.Convertor = {};
BMap.Convertor.translate =
嘿嘿嘿 & & &转换的地址是这个
var xyUrl = "http://api./ag/coord/convert?from="+ type + "&to=4&x=" + point.lng + "&y=" + point.lat + "&callback=BMap.Convertor." + callbackN
阅读(...) 评论()}

我要回帖

更多关于 convertor.translate 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信