89 lines
2.8 KiB
JavaScript
Executable File
89 lines
2.8 KiB
JavaScript
Executable File
|
|
import React, { Component } from 'react';
|
|
var db=require('./persistences/db.js');
|
|
import I18n from 'react-native-i18n'
|
|
import {readUser} from './AuthApi'
|
|
import {isDebugMode,MARKER_URL} from "./IlinkConstants";
|
|
|
|
let GEOCODDING_URL="https://maps.googleapis.com/maps/api/geocode/json"
|
|
let API_KEY="AIzaSyAYOEp-Pckvc3TwOIulCICokKgmp14rGHI"
|
|
export const getLocalMarkers=()=> {
|
|
return db.markers.get_all()
|
|
}
|
|
export const getMakersFrom=function(country){
|
|
let tag={tag:'location',type:'all',country:country}
|
|
return timeout(15000,queryMap(tag))
|
|
}
|
|
function timeout(ms, promise) {
|
|
return new Promise(function(resolve, reject) {
|
|
setTimeout(function() {
|
|
reject(new Error(I18n.t("TEXT_NETWORK_UNABLE")))
|
|
}, ms)
|
|
promise.then(resolve, reject)
|
|
})
|
|
}
|
|
export const loadMarkers=(position,reseau,distance,page)=>{
|
|
return readUser().then((users)=>{
|
|
let user=users;
|
|
if(user!==undefined){
|
|
let tag={tag:'location',type:'around',
|
|
page:page,
|
|
id:user.id,position:position,network:reseau,distance:distance}
|
|
return queryMap(tag)
|
|
}
|
|
})
|
|
|
|
}
|
|
|
|
export const loadGroupeAgent=(member_code)=>{
|
|
let data={tag:'location',type:'all_network',codeparrain:member_code}
|
|
return queryMap(data)
|
|
}
|
|
export const loadNetwork=(network,userid)=>{
|
|
let data={tag:'location' ,type:"all_network_point",id:userid,network:network}
|
|
return queryMap(data)
|
|
}
|
|
export const getPositionInformation= async (position)=>{
|
|
let url=GEOCODDING_URL.concat('?latlng='+position.latitude+","+position.longitude+'&key='+API_KEY);
|
|
const data=fetch(url,{ method: 'GET',
|
|
headers: {
|
|
Accept: 'application/json',
|
|
'Content-Type': 'application/json',
|
|
},})
|
|
.then((response)=>response.json())
|
|
.then((responseJson)=>
|
|
responseJson
|
|
).catch((error)=>{
|
|
console.log("error get position")
|
|
console.log(error)
|
|
});
|
|
|
|
console.warn("freud",data);
|
|
return data;
|
|
}
|
|
const queryMap= async (data)=>{
|
|
data['lang']=I18n.currentLocale()
|
|
data["test"]=isDebugMode
|
|
let response=await fetch(MARKER_URL,{
|
|
method: 'POST',
|
|
headers: {
|
|
Accept: 'application/json',
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify(data),
|
|
|
|
});
|
|
let responseText=await response.text()
|
|
console.log("response= "+responseText)
|
|
try{
|
|
let responseJson=JSON.parse(responseText)
|
|
return responseJson;
|
|
}catch(e){
|
|
console.log("erreur="+responseText)
|
|
console.log(response)
|
|
throw new Error("Erreur lors de la conversion en json")
|
|
}
|
|
throw new Error("Erreur lors de la conversion en json")
|
|
|
|
}
|