|
公司做一个地图APP,现在有个问题,公司制定用高德地图。我已经把设备当前坐标信息用cordova插件取出来了,问题是读出来的坐标是百度的bd09ll坐标,而我地图是高德的cgj02坐标,查了相关文档,百度支持高德向百度坐标系(cgj02=》bd09ll),不支持逆向,高德地图坐标转换资料少的可怜。目前只有两个办法,一个是我取出来的坐标系采用高德坐标系(http://www.myexception.cn/mobile/1482039.html),修改cordova插件,但是option.setCoorType("gcj02");是安卓开发。第二个是转换坐标系(http://lbsbbs.amap.com/forum.php ... ghlight=convertFrom),可以转换,但是发现是异步方式转换,也就是我程序调用的时候不执行AMap.convertFrom,而是若干步后才执行,我需要是同步执行不知道怎么回事,请各位大虾帮忙
var jsGaoDeLngLat = {};
function changeCoorType(jsBaiDuLngLat){
var objLngLat = new AMap.LngLat(jsBaiDuLngLat.lngLng , jsBaiDuLngLat.lngLat);
//var strGDLngLat = "";
AMap.convertFrom(objLngLat,'baidu',function(status,result){
debugger
if(status=='complete'&&result.info=='ok'){
jsGaoDeLngLat["lngLng"] = result.locations[0].lng;
jsGaoDeLngLat["lngLng"] = result.locations[0].lat;
//return jsGaoDeLngLat;
return;
}else{
//justep.Util.hint("坐标系转化失败!");
//return objPosition;
}
});
//return jsGaoDeLngLat;
} |
|