百度地图和google地图在开发中的微小比较

本文对比了Google地图和百度地图在开发过程中的细微差别,并分享了从Google地图迁移到百度地图时遇到的问题及解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、google地图与百度地图的一些微小差别

由于最近同时使用了google地图和百度地图开发,所以也有一个小小的认识和了解,在这里就做一个微小的比较。这些都是我在实际应用中切身感受的,如有不对的地方还请看到这篇文章的大牛多多指教。

1、google地图的经纬度坐标点latLng(x,y)是先纬度后经度;百度地图中Point(y,x)是先经度后纬度。
2、google地图中的控件都是默认的(如平移缩放控件、是否可用鼠标滚轮缩放等);百度地图有些是需要添加控件来显示。
3、google地图上的marker图标都是表示一个点(即点击图标任何地方坐标都一样);百度地图的marker图标上的左边点不相同。
4、google地图添加marker可以直接设置各种属性值;百度添加marker相对麻烦一点。
5、百度地图添加一个新的label类,可以实现在marker旁边显式的添加描述信息。
6、google地图获取经纬度的单个值latLng.lat()后边有个括号;百度地图获取经纬度的单个值Point.lat后边没有括号。

目前接触到的差不多就这些,以后有接触到的再做补充。

二、写点在添加百度地图的时候走的弯路:

从google地图换成百度地图,花了将近一天的时间,其中在做控制地图显示范围耗时最多,差不多一个下午的时间。由于在网上没有看到有人做这个,就看百度地图API来自己做。
(1)结合上面的第一点,一开始还按照google map的习惯写经纬度值,发现无法加载地图。后来查看API,通过alert()输出,找出原因并改正。
(2)首先第一个坎,由于牵涉到比较经纬度的值,所以要获得单个经度和纬度。就理所当然的按照之前google maps中的lat=Point.lat(),
     结果总是没有出效果,由于是在asp.net中写js代码也没法调试,就反复的查看代码寻找出错的地方,后来用alert()输出lat值,发现是undefined,
     没有取到,此时还是不知道错误出在什么地方,后来再次翻看百度地图API,找到Point的属性方法,发现Point.lat后边没有括号(就如上面的第6点所见的一样)。
     改正过来之后能正确的获得值了。
(3)在定义var strictBounds=new Bmap.Bounds(new BMap.Point(116.3645,39.9673),new BMap.Point(116.3646,39.9685))时总是出错,查了很久也找不出原因,就是不能加载地图。后来一不小心发现竟然是
     把BMap中的M写成小写的了,囧。
(4)当中心点超出边界时,用map.setCenter(point)没有出现应有的效果,后来改为map.centerAndZoom(new BMap.Point(x,y),map.getZoom());从新加载地图来实现。


写这些就是想说,编程要细心,否则一个微小的错误就能让你查好久,或许一个笔误、一个习惯性的想当然都能导致错误。细心、认真。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值