Javascript 谷歌地图不在android emulator ionic框架(navigator.geolocation.getCurrentPosition)上运行

Javascript 谷歌地图不在android emulator ionic框架(navigator.geolocation.getCurrentPosition)上运行,javascript,android,google-maps,android-emulator,ionic-framework,Javascript,Android,Google Maps,Android Emulator,Ionic Framework,我的应用程序在浏览器上运行良好,但在emulator上无法渲染谷歌地图。 此应用程序基于现有的应用程序,该应用程序已经有一个谷歌地图在模拟器(和设备)上运行良好 我想是因为navigator.geolocation.getCurrentPosition没有触发。 我用 但我仍然有这个问题。 这是我的控制器: .controller('MapsCtrl',函数($scope,Service,$ionicLoading,$ionicPopup,$compile){ $ionicLoading.sh

我的应用程序在浏览器上运行良好,但在emulator上无法渲染谷歌地图。 此应用程序基于现有的应用程序,该应用程序已经有一个谷歌地图在模拟器(和设备)上运行良好 我想是因为navigator.geolocation.getCurrentPosition没有触发。 我用 但我仍然有这个问题。 这是我的控制器:

.controller('MapsCtrl',函数($scope,Service,$ionicLoading,$ionicPopup,$compile){
$ionicLoading.show();
Service.getSedi().then(函数(结果){
var sede=结果数据[0];
navigator.geolocation.getCurrentPosition(函数(pos)){
var myPosition=new google.maps.LatLng(pos.coords.latitude,pos.coords.longitude);
var map=新GMAP({
分区:“#地图”,
纬度:位置坐标纬度,
液化天然气:位置坐标经度
});
map.addMarker({
拉丁语:sede.indirizzo.lat,
液化天然气:sede.INDIRIZO.lng,
标题:sede.titolo,
信息窗口:{
内容:'+sede.titolo+'

'+sede.indirizzo.address+'

' } }); //反向地理编码(从坐标获取人类可读地址) var geocoder=new google.maps.geocoder(); 变量opt={ 纬度:位置坐标纬度, 液化天然气:位置坐标经度, 回调:函数(结果、状态){ if(status==google.maps.GeocoderStatus.OK){ 日志(结果[1]。格式化的_地址+''+myPosition); map.addMarker({ 职位:我的职位, 信息窗口:{ 内容:'Estas aqí

'+结果[1]。格式化的地址+'

' } }); } } }; 地理编码(opt); //端反向地理编码 绘制路线图({ 原点:[坐标位置纬度,坐标位置经度], 目的地:[sede.indirizzo.lat,sede.INDIRIZO.lng], travelMode:‘驾驶’, strokeColor:“#131540”, 笔划不透明度:0.6, 冲程重量:6 }); //搜索地点 var arrayId=[]; map.addLayer('places'{ 位置:新google.maps.LatLng(位置坐标纬度,位置坐标经度), 半径:600, 类型:[“咖啡馆”、“酒吧”、“食品”], 搜索:功能(结果、状态){ if(status==google.maps.places.PlacesServiceStatus.OK){ 对于(var i=0;i'+(place.neighborary?place.neighborary:place.formatted_address)+'

' } }); } } } }); //zoomOut地图(5); //克里奥艾尔区和洛斯博通酒店 var节点=document.createElement(“div”); var text=document.createTextNode(“ACA VAN LOS BOTONES”); 追加子节点(文本); node.setAttribute(“id”、“mapBottom”); document.getElementById(“映射”).appendChild(节点); },函数(错误){ $ionicPopup.alert({ 标题:“错误”, 模板:'code:'+error.code+'\n'+'消息:'+error.message+'\n' }); }); $ionicLoading.hide(); },函数(){ $ionicLoading.hide(); $ionicPopup.alert({ 标题:“错误”, 模板:“服务器错误!
重新启动应用程序!” }); });
})
这是因为仿真器没有GPS,无法像您在使用GPS的设备中看到的那样进行实时更新

有一些方法可以在模拟器中测试应用程序地理空间功能的行为。不过,你必须为此做些工作

以下是一些参考资料:


用于通过Telnet连接仿真器。(有用)

我将这些行添加到AndroidManifest.xml
如果您的问题没有解决,请添加cordova插件列表,以确认您正确添加了geolocation插件,该插件刚刚在手机中测试过,效果很好,但不会在我的模拟器中呈现。以下是我的插件列表:cordova插件地理位置1.0.1-dev“geolocation”org.apache.cordova.inappbrowser 0.5.2“inappbrowser”