Was working on google api for my project to calculate the distance between 2 places.. Google maps has that functionality but i needed a sneak peek into the api for that.. I did a little research for the same and found out that they used json objects in Distance Matrix for the same. So i tried to learn json parsing which is very simple by the way. You will need the json jar file to run this and its quite good at calculating distance between any two places on earth...
Try it out.. Its very simple.
the data from the url for 2 places say noida to delhi will be a json object of the format
You just need to know how to parse through and get thae data. :)
//JSON object :
{
"destination_addresses" : [ "Bokaro, झारखण्ड, India" ],
"origin_addresses" : [ "Noida, Delhi, India" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "1,201 km",
"value" : 1200769
},
"duration" : {
"text" : "15 hours 19 mins",
"value" : 55119
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
//JSONInterface.java
package com.distanceMatrix;
import java.io.*;
import java.net.URL;
import java.nio.charset.Charset;
import org.json.*;
public class JSONInterface
{
Integer tem;
Float dist;
private static String readAll(Reader rd) throws IOException
{
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1)
{
sb.append((char) cp);
}
return sb.toString();
}
public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException
{
InputStream is = new URL(url).openStream();
try
{
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = new JSONObject(jsonText);
return json;
}
finally
{
is.close();
}
}
public float calcDistance(StringBuffer beg, StringBuffer end)
{
JSONObject json=null;
try
{
json = readJsonFromUrl("https://maps.googleapis.com/maps/api/distancematrix/json?origins="+beg+"&destinations="+end+"&mode=driving&sensor=false");
json.get("rows");
JSONArray arr=null;
arr = json.getJSONArray("rows");
tem=(Integer)arr.getJSONObject(0).getJSONArray("elements").getJSONObject(0).getJSONObject("distance").getInt("value");
dist=(float)tem/1000;
}
catch (JSONException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return dist;
}
}
//JSONDiatanceCalculator.java
package com.distanceMatrix;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class JSONDiatanceCalculator
{
static String beg,end;
static StringBuffer start=new StringBuffer(), stop=new StringBuffer();
static float totDistance;
public static void main(String args[])
{
JSONInterface ji=new JSONInterface();
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.println("Enter the source place : ");
beg=br.readLine();
System.out.println("Enter the distance place : ");
end=br.readLine();
start.append(beg);
stop.append(end);
for(int i=0; i<start.length(); i++)
{
if(start.charAt(i)==' ')
{
start.deleteCharAt(i);
start.insert(i, "%20");
}
}
for(int i=0;i<stop.length();i++)
{
if(stop.charAt(i)==' ')
{
stop.deleteCharAt(i);
stop.insert(i, "%20");
}
}
totDistance=ji.calcDistance(start,stop);
System.out.println("The distance between "+beg+" and "+end+" is = "+totDistance);
}
catch(IOException e)
{
System.out.println("Improper place value set..");
e.printStackTrace();
}
catch(Exception e)
{
System.out.println("Json type exception");
e.printStackTrace();
}
}
}
Hi Ajo
ReplyDeleteI cant seem to get the JSONInterface to compile
Which version of json.jar are you using?
I've tried json-simple-1.1.1.jar that I've found on the web?
Not to worry, my mistake.. got the correct json.og file from http://mvnrepository.com/artifact/org.json/json/20090211
ReplyDeleteGood that you found it. Do you require any other help?
ReplyDeleteHi I'm a student trying to learn JSON and the Google API. I was wondering why your JSON object looks different from the JSON result example shown here:
ReplyDeletehttps://developers.google.com/maps/documentation/distancematrix/
Is it just a simplified object for example's sake, or did the API change?
hi i need to pass destination from my database and return the shortest pls help me
ReplyDeleteYou have done a great job on this article. It’s very readable and highly intelligent. You have even managed to make it understandable and easy to read. You have some real writing talent. Thank you. entfernung zwischen
ReplyDeleteMuğla
ReplyDeleteSamsun
Eskişehir
Sakarya
Kars
5NZ4
Gümüşhane
ReplyDeleteKaraman
Kocaeli
Sakarya
Samsun
İXZJ
denizli evden eve nakliyat
ReplyDeletekars evden eve nakliyat
çorum evden eve nakliyat
kars evden eve nakliyat
malatya evden eve nakliyat
0WP
sakarya evden eve nakliyat
ReplyDeleteosmaniye evden eve nakliyat
aksaray evden eve nakliyat
çanakkale evden eve nakliyat
zonguldak evden eve nakliyat
Jİ6UVL
href="https://istanbulolala.biz/">https://istanbulolala.biz/
ReplyDeleteWGA63İ
düzce evden eve nakliyat
ReplyDeletedenizli evden eve nakliyat
kırşehir evden eve nakliyat
çorum evden eve nakliyat
afyon evden eve nakliyat
4JN
820A8
ReplyDeleteMaraş Evden Eve Nakliyat
Adıyaman Lojistik
Denizli Evden Eve Nakliyat
Bybit Güvenilir mi
Aydın Şehirler Arası Nakliyat
Silivri Duşa Kabin Tamiri
Batman Şehir İçi Nakliyat
Nevşehir Şehir İçi Nakliyat
Çerkezköy Boya Ustası
00719
ReplyDeleteÜnye Fayans Ustası
Kastamonu Evden Eve Nakliyat
Osmaniye Parça Eşya Taşıma
Ordu Parça Eşya Taşıma
Kırşehir Lojistik
Iğdır Şehir İçi Nakliyat
Kocaeli Şehirler Arası Nakliyat
Mamak Boya Ustası
Sivas Evden Eve Nakliyat
F7575
ReplyDeleteAğrı Şehirler Arası Nakliyat
Yalova Parça Eşya Taşıma
Karaman Şehir İçi Nakliyat
Yalova Şehirler Arası Nakliyat
Şırnak Lojistik
Ağrı Evden Eve Nakliyat
Antep Lojistik
Keçiören Boya Ustası
Bayburt Evden Eve Nakliyat
9770F
ReplyDeleteÇorum Lojistik
Düzce Evden Eve Nakliyat
Etlik Fayans Ustası
Çerkezköy Oto Elektrik
Ünye Yol Yardım
Altındağ Parke Ustası
Çankaya Parke Ustası
Kocaeli Şehirler Arası Nakliyat
Yalova Lojistik
45001
ReplyDeleteAydın Şehir İçi Nakliyat
Kilis Şehirler Arası Nakliyat
Çerkezköy Çekici
Ünye Asma Tavan
Kripto Para Nedir
Bartın Lojistik
İstanbul Şehirler Arası Nakliyat
Bartın Evden Eve Nakliyat
Kocaeli Lojistik
5E1D8
ReplyDeleteMalatya Şehir İçi Nakliyat
Yalova Lojistik
Aydın Lojistik
Aydın Şehir İçi Nakliyat
Erzurum Şehirler Arası Nakliyat
Bitmex Güvenilir mi
Poloniex Güvenilir mi
Giresun Lojistik
Ünye Asma Tavan
EC783
ReplyDeleteÇankırı Evden Eve Nakliyat
Burdur Şehir İçi Nakliyat
Artvin Şehirler Arası Nakliyat
Hexa Coin Hangi Borsada
Bolu Şehirler Arası Nakliyat
Lunc Coin Hangi Borsada
Bolu Lojistik
Denizli Evden Eve Nakliyat
Keçiören Boya Ustası
58F57
ReplyDeleteYobit Güvenilir mi
Amasya Şehir İçi Nakliyat
Kocaeli Evden Eve Nakliyat
Denizli Parça Eşya Taşıma
Mardin Parça Eşya Taşıma
Elazığ Şehir İçi Nakliyat
Ağrı Evden Eve Nakliyat
Diyarbakır Evden Eve Nakliyat
Trabzon Parça Eşya Taşıma
24101
ReplyDeleteEryaman Parke Ustası
Bingöl Evden Eve Nakliyat
Ordu Lojistik
Silivri Çatı Ustası
Sakarya Evden Eve Nakliyat
Tunceli Şehir İçi Nakliyat
Burdur Şehirler Arası Nakliyat
Bilecik Parça Eşya Taşıma
Karapürçek Fayans Ustası
CE9A2
ReplyDeleteNiğde Parça Eşya Taşıma
Apenft Coin Hangi Borsada
Mersin Şehirler Arası Nakliyat
Çerkezköy Parke Ustası
Edirne Şehirler Arası Nakliyat
Yalova Şehir İçi Nakliyat
Osmaniye Parça Eşya Taşıma
Tekirdağ Evden Eve Nakliyat
Edirne Evden Eve Nakliyat
D9CDD
ReplyDeleteSivas Şehirler Arası Nakliyat
Erzurum Evden Eve Nakliyat
Diyarbakır Lojistik
Bitmart Güvenilir mi
Batman Şehirler Arası Nakliyat
Muğla Lojistik
Kripto Para Nedir
Btcturk Güvenilir mi
Çerkezköy Bulaşık Makinesi Tamircisi
2E6FA
ReplyDeletebinance indirim kodu
96CAE
ReplyDeletebinance komisyon indirimi %20
517A0
ReplyDeleteRESİMLİ MAGNET
5CB9E
ReplyDeletereferans kimliği nedir
binance referans kodu
resimli magnet
binance referans kodu
referans kimliği nedir
binance referans kodu
resimli magnet
binance referans kodu
resimli magnet
EA3D3
ReplyDeletevan canlı sohbet siteleri
edirne sesli sohbet
kadınlarla ücretsiz sohbet
kızlarla canlı sohbet
muş ücretsiz sohbet odaları
bursa rastgele sohbet uygulaması
bursa sohbet odaları
kadınlarla sohbet et
telefonda rastgele sohbet
C5460
ReplyDeleteyalova ücretsiz sohbet
bedava görüntülü sohbet
ısparta ucretsiz sohbet
aydın bedava görüntülü sohbet sitesi
kocaeli canlı sohbet sitesi
Ordu Canlı Görüntülü Sohbet Uygulamaları
canlı sohbet odaları
eskişehir canlı sohbet odası
rastgele sohbet siteleri
168E0
ReplyDeleteMuğla Görüntülü Sohbet Siteleri Ücretsiz
elazığ rastgele görüntülü sohbet uygulaması
Antep Sesli Sohbet
mardin sohbet uygulamaları
trabzon yabancı görüntülü sohbet
kilis kadınlarla sohbet
Kırşehir En İyi Ücretsiz Sohbet Uygulamaları
canlı sohbet bedava
görüntülü sohbet siteleri
9D11D
ReplyDeletezkswap
uwulend finance
pudgy penguins
yearn finance
satoshivm
dappradar
thorchain
sushiswap
pancakeswap
EB586
ReplyDeleteparibu
huobi
huobi
referans kimliği
kraken
binance
bitget
bitcoin seans saatleri
okex
A9712
ReplyDeleteen iyi kripto grupları telegram
bitcoin nasıl oynanır
bitcoin nasıl üretilir
bitcoin hesabı nasıl açılır
binance
bitcoin ne zaman çıktı
coinex
kripto kanalları telegram
aax