-
-
Save tugrulcan/815f1ede783ce1427b0b721e4a1a2da9 to your computer and use it in GitHub Desktop.
getRoute = () => { | |
let addressDict = new Map(); | |
for (student of sampleData.studentList) { | |
addressDict.set(student.studentID, student.address); | |
} | |
let wpoints_array = Array.from(addressDict.values()); | |
let wpoints_query = ""; | |
for (wp of wpoints_array) { | |
wpoints_query += wp + "|"; | |
} | |
wpoints_query = wpoints_query.substring(0, wpoints_query.length - 1); | |
let origin_coords = this.state.longitude.toString() + ',' + this.state.latitude.toString(); | |
let destination = 'Muradiye Mah. Manolya Sokak No:234 Yunusemre - Manisa'; | |
let q_url = "https://maps.googleapis.com/maps/api/directions/json?origin=" + origin_coords; | |
q_url += "&destination=" + destination; | |
q_url += "&waypoints=" + wpoints_query; | |
q_url += "&optimizeWaypoints=true"; | |
q_url += "&travelMode=DRIVING"; | |
q_url += "&key=AIzaSyCOqYI7eM7halH9qb10BmTGbrtrqfgBUw4"; | |
console.log("q_url: " + encodeURI(q_url)); | |
fetch(encodeURI(q_url)) | |
.then(function (response) { | |
return response.json(); | |
}) | |
.then((response) => { | |
console.log("responsejson: " + JSON.stringify(response)); | |
//alert("responseJson: " + JSON.stringify(responseJson)); | |
let url = 'http://maps.google.com/maps?saddr=' + origin_coords; | |
for (let index = 0; index < response.routes[0].waypoint_order.length; index++) { | |
let element = response.routes[0].waypoint_order[index]; | |
let addr = wpoints_array[element]; | |
if (index === 0) | |
url += "&daddr=" + addr; | |
else | |
url += "+to:" + addr; | |
} | |
url += "+to:Muradiye Mah. Manolya Sokak No:234 Yunusemre - Manisa&dirflg=d"; | |
console.log("url : " + encodeURI(url)); | |
Linking.openURL(encodeURI(url)); | |
}); | |
}; | |
example q_url:
https://maps.googleapis.com/maps/api/directions/json?origin=38.43882333333333,27.202935000000004&destination=Muradiye%20Mah.%20Manolya%20Sokak%20No:234%20Yunusemre%20-%20Manisa&waypoints=1901.%20Sk.%20No:43,%20Saruhan%20Mahallesi,%2045010%20Manisa%20Merkez/Manisa,%20Türkiye|Oktay%20Erol%20Pulcuoğlu%20Cd.%20No:8,%2045030%20Keçiliköy%20Osb/Manisa%20Merkez/Manisa,%20Türkiye|Manisa%20TOKİ%20Konutları%20No:3,%20Uncubozköy%20Mahallesi,%2045030%20Manisa%20Merkez/Manisa,%20Türkiye|5619.%20Sk.%20No:2,%20Keçili%20Köy%20Mahallesi,%2045030%20Manisa%20Merkez/Manisa,%20Türkiye|Vali%20Azizbey%20Cd.%20No:34,%2075.%20Yıl%20Mahallesi,%2045030%20Manisa%20Merkez/Manisa,%20Türkiye|43.%20Sk.%20No:23,%20Turgut%20Özal%20Mahallesi,%2045040%20Manisa%20Merkez/Manisa,%20Türkiye|308.%20Sk.%20No:130,%20Kazım%20Karabekir%20Mahallesi,%2045040%20Şehzadeler/Manisa,%20Türkiye|1803.%20Sk.%20No:7,%20Çarşı%20Mahallesi,%2045010%20Manisa%20Merkez/Manisa,%20Türkiye&optimizeWaypoints=true&travelMode=DRIVING&key=AIzaSyCOqYI7eM7halH9qb10BmTGbrtrqfgBUw4
Possible Unhandled Promise Rejection (id: 0):
ReactNativeJS: TypeError: undefined is not an object (evaluating 'response.routes[0]')