我正在尝试获取GPS坐标以在手机中移动Google地图。我的xml文件中添加了这样的插件:
<plugin name="cordova-plugin-gpslocation" spec="1" />
当我单击我的按钮以获取我的坐标时,此代码运行:
function locateMe(){
alert("in function");
function onSuccess(position) {
alert(position.coords.latitude);
alert(position.coords.longitude);
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
//locateMe code
var watchID = GPSLocation.getCurrentPosition(onSuccess, onError);
//get gps coordinate
//move map to location
}
}
我正在使用的gps插件:https://www.npmjs.com/package/cordova-plugin-gpslocation
我的应用似乎可以识别出已添加该插件,因为当我在Android手机上安装该插件时,它会警告我有关gps权限的信息。
[当我运行上面的代码时,我只收到in fucntion
的第一个警报,我不确定我没有得到gps坐标的警报。
尝试使用官方的Cordova插件访问:https://cordova.apache.org/docs/en/latest/guide/cli/index.html
安装:这需要cordova 5.0+(当前稳定为1.0.0)
cordova插件添加cordova-plugin-geolocation
较旧版本的Cordova仍然可以通过不赞成使用的ID安装(过时的0.3.12)
cordova插件添加org.apache.cordova.geolocation
也有可能直接通过repo url安装(不稳定)
cordova插件添加https://github.com/apache/cordova-plugin-geolocation.git
要在单击按钮时获取设备的当前位置,可以在单击按钮时调用/调用以下示例代码
function getWeatherLocation() {
navigator.geolocation.getCurrentPosition(onWeatherSuccess, onWeatherError,{enableHighAccuracy: true });
}
// Success callback for get geo coordinates
var onWeatherSuccess = function (position) {
Latitude = position.coords.latitude;
Longitude = position.coords.longitude;
//Do something with coordinates
}
// Error callback
function onWeatherError(error) {
console.log('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}