百度地图坐标转换及跨域
- 前言
调用 api将实际经纬度转换为百度坐标系的经纬度。 - 想要的效果
效果如图,左侧为百度地图,需要与右侧地图联动。
通过百度地图离线js调用,总是报跨域错误。以为是js版本不对,查了一下没问题。
网友这种方式处理的回调函数根本不起作用
//坐标转换完之后的回调函数translateCallback = function (data){if(data.status === 0) {var marker = new BMap.Marker(data.points[0]);bm.addOverlay(marker);var label = new BMap.Label("转换后的百度坐标(正确)",{offset:new BMap.Size(20,-10)});marker.setLabel(label); //添加百度labelbm.setCenter(data.points[0]);}}setTimeout(function(){var convertor = new BMap.Convertor();var pointArr = [];pointArr.push(ggPoint);convertor.translate(pointArr, 1, 5, translateCallback)}, 1000);
过程没有截图。就不晒出来了。跟代码的结果是:执行了
convertor.translate(pointArr, 1, 5, translateCallback)
但是回调函数translateCallback根本不执行。
分析原因可能是找不到回调的函数。由于这个项目前端用dojo+js面向对象编程。只能在js外部定义回调函数才能正常解析请求结果
//定义源坐标投影
var projection84 = '+proj=longlat +datum=WGS84 +no_defs';
//定义目标坐标投影
var projection2000 = "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs";
// 这里的point为右侧地图的中心点 通过proj4将2000转成84
var xy2000 = [point.x, point.y]
var xy84 = proj4(projection2000, projection84, xy2000);
console.log("jsonP调用百度API将实际经纬度转换为百度坐标系的经纬度");
// jsonP回调的函数showLocation在本文件最底端
var baiduurl = "http://api.map.baidu.com/geoconv/v1/?coords=" + xy84[0] + "," + xy84[1] + "&from=1&to=5&ak=你的秘钥&callback=showLocation"
$.getScript(baiduurl);
回调函数写在js文件的最外边,以便识别到回调方法
回调函数代码如下:
// 84坐标转百度坐标回调方法
function showLocation(data) {var gh = GisHelper.getInstance();var mapFen = gh._Map;var map = new BMap.Map("BaiDuMap");var num;var bl = mapFen.getScale();if (1510 < bl ) {num = 19;}else if (bl < 1510) {num = 20;}var point = new BMap.Point(data.result[0].x,data.result[0].y);// 根据转换后的点和右侧地图缩放比例加载百度地图map.centerAndZoom(point, num);
}
百度地图坐标转换及跨域相关推荐
- java百度地图坐标_java腾讯地图与百度地图坐标转换
/** * 坐标转换,腾讯地图转换成百度地图坐标 * @param lat 腾讯纬度 * @param lon 腾讯经度 * @return 返回结果:经度,纬度 */ public String m ...
- 火星坐标系转百度php,PHP版本实现火星,高德地图和百度地图坐标转换
作开发的朋友都知道百度地址或其它的google地址及火星,高德地图它们的坐标值都是不一样的,如果我们希望从高德地图转换到百度地址是需要转换坐标的否则就不准了,下面来看一个高德地图和百度地图坐标转换ph ...
- 百度地图坐标转换API
百度地图坐标转换API 之前写过一篇利用私有API处理Wgs到火星坐标的转换的问题 最近发现有个百度地图未公开的坐标转换API挺不错: http://api.map.baidu.com/ag/coor ...
- js GPS 百度地图坐标转换
2019独角兽企业重金招聘Python工程师标准>>> 首先要引用百度地图的 <scrtipt>: <script type="text/javascri ...
- 百度地图-坐标转换及位置解析
在SpringBoot中测试如下 一共三个区域 左1是将GPS坐标转换后与转换前的对比 左2是将GPS坐标未转换的坐标 下图是根据地理位置转为经纬度坐标在百度地图上展示 html如下 <!DOC ...
- Android中高德地图与百度地图坐标转换
项目中实验数据点取自高德地图,它是火星坐标系统(下面会有解释),而现在希望用百度地图的SDK进行开发,两套不同的规范自然需要进行转换.如何解决这个问题呢?参考了网上很多人的博客和资料. 最终解决此问题 ...
- gps转百度地图坐标 java,GPS坐标与百度地图坐标转换
空间坐标公式: image.png 上述四个方程式中待测点坐标x. y. z 和Vto为未知参数,其中di=c△ti (i=1.2.3.4). di (i=1.2.3.4) 分别为卫星1.卫星2.卫星 ...
- 百度地图 坐标转换 顺序问题
之前在android系统上使用过百度API,感觉很好用,后来又通过VC+java集成过百度地图API,对比VC编辑google地图时的复杂度,简化了许多. 这次是由于要做智慧城市项目,需要根据GPS信 ...
- 百度的一个Ajax跨域方法 JavaScript是没有域的限制
baidu的通行证处理都是在二级域名passport.baidu.com中处理的,但是baidu很多地方登录都好像是用ajax处理的,他是怎么做的呢?研究了一下,发现一个小技巧. 在http://zh ...
- React + fetch API + 百度地图api + 跨域 填坑
做项目遇到一个百度地图api 的跨域问题.由于使用fetch ,在调用类似 http://api.map.baidu.com/geocoder/v2/callback=renderReverse&am ...
最新文章
- qq发文件大小上限_微信又放大招!网友:QQ可以卸载了?
- PHP ----MySQL 数据库
- 计算机编程语言python-初学者最容易学的六种编程语言
- 全国大学生数学建模如何轻松获得一等奖,我想你需要知道这样知识
- Python编程基础:第四十三节 多继承Multiple Inheritance
- 替换空格---剑指Offer
- sql server自动备份
- c++使用单向链表存储一组有序数据_《一起学习java和数据结构》系列-数组和链表...
- pytorch torch.empty
- 科大讯飞2019机械核心部件寿命预测,亚军方案
- 同时安装vs2010和VS2012后IEnumerableModelClientValidationRule编译错误
- dreamweaver 正则表达式为属性值加上双引号_IT兄弟连 HTML5教程 HTML5表单 新增的表单属性3...
- 博客园添加背景音乐,给你的博文加点料
- 配置eclipse反编译
- AD学习之旅(9)— 新建PCB封装库
- Excel中文转拼音【真正的完整版】 拼音 驼峰命名专用
- LNMP一键安装包如何重装Nginx
- 【第七章】 C语言之牛客网力扣刷题笔记 【点进来保证让知识充实你一整天】
- Python通过MQTT协议上传物联网数据给ThingsBoard
- 不规则长方体空间移动工程师_仅有30㎡的不规则蜗居,设计移动墙后,半平米都不会浪费!|橱柜|卫浴|小户型设计|厨房|户型...