最近经过多次测试 发现百度定位其实是 开启gps的情况下拿到gps返回的某些定位标识符,拿到附近的基站标识符id,然后把这些标识符发给百度服务器,经过服务器的算法得到一个位置再转发给客户端..之前也研究过mapabc和google,感觉都应该是这种方式...
但是这种方式对网络就有限制了,网络差或者机器本身对网络有限制或者一些山寨机的便宜芯片的2g网络根本就无法定位了..
google和mapabc是ok的,不会影响很严重,同时开启gps的情况下,网络只会影响定位的误差大小,不会完全说网络差就完全定不了位..
但是百度定位就不一样了,同时开启gps的情况下,部分山寨机是完全定不了位,切换wifi马上就ok了...此问题是昨天亲自上街测试得到的结果..拿了一堆android机器用2g网络的情况下部分机器完全定不了位置,连百度出的产品都无法使用,部分机器能正常使用,发现不能使用的都是一些山寨货... 然后拿了一台iphone机器公开了一个wifi,然后每台android机器连接到wifi,那些不能定位的手机马上就可以正常定位了.... 
瞬间就无语了..问题发现了.只有去解决这个问题,换mapabc或者google都已经晚了..时间不多....有谁知道代码可以优化网络么?