您好,我使用以下代码成功获取了用户位置,但是在android模拟器中,它并没有询问用户是否要共享其位置(即使在我重新安装应用程序之后)。
代码可以正常运行。...但是我真的希望标准警报出现,显示“您确定要与该应用共享位置”
任何指导将不胜感激
navigator.geolocation.getCurrentPosition(
(pos) => {
console.log(pos.coords.longitude, pos.coords.latitude);
答案 0 :(得分:0)
我认为您重新安装应用后,位置权限不会再显示,因为手机仍会记住为应用授予的权限。您可以通过应用(https://www.howtogeek.com/230683/how-to-manage-app-permissions-on-android-6.0/)检查应用是否具有“ Android设置”中授予的权限。
也许这段代码可以帮助您
var NodeGeocoder = require('node-geocoder');
var options = {
provider: process.env.GEOCODING_PROVIDER,
httpAdapter: 'https',
apiKey: process.env.GEOCODING_KEY,
formatter: null
};
var geocoder = NodeGeocoder(options);
collection.getExistingId( req.params.id, ( err, record ) => {
const existingAddress = addresstoString(record.address);
const newAddress = addresstoString(newRecord.address);
if ( !compareAddresses(existingAddress,newAddress) ) {
geocoder.geocode(newAddress, function(err, geocode) {
let coords = []; // mongoDB wants [Long,Lat]
coords[0] = geocode[0].longitude;
coords[1] = geocode[0].latitude;
// set existingAddress.COORDINATES = coords
// save the record
});
}
});