目前提供的解决方案: 1、将网站的http设置为Https。 2、通过第三方解决,也就是调用百度地图或者其他地图的定位功能进行定位。调用百度地图方法如下:
//获取本机的地址 let geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition((position)=>{ //0代表调用成功,具体状态可见百度地图api if(geolocation.getStatus() == 0){ //经度 let longitude =position.longitude; //纬度 let latitude = position.latitude; let pPoint = new BMap.Point(longitude,latitude); let heading = 0; if(position.heading !=null && position.heading != ''){ heading = position.heading; } let icon = new BMap.Symbol(BMap_Symbol_SHAPE_FORWARD_CLOSED_ARROW, { scale: 2, strokeWeight: 1, rotation: heading,//顺时针旋转30度 fillColor: '#1794f6', fillOpacity: 0.8 }); }else { console.log(position); }Ionic2使用百度地图或者其他地图时除了在index.html引入js外,还需要在相应需要使用的ts文件上加上声明:
declare var BMap; declare var BMap_Symbol_SHAPE_FORWARD_CLOSED_ARROW;同理,如果需要使用到百度地图的矢量,也要加上声明,如上。
如果多个组件使用到的话,可以在declarations.d.ts文件上全局声明。 引入其他js如echart.js等方法雷同