def posisi(request): toko = Toko.objects.filter(aktif=True) posisi = [] for t in toko: posisi.append( { "id": t.id, "lat": t.geo_lintang, "lng": t.geo_bujur, "nama": t.nama, "alamat": t.alamat, "kota": t.kota, "provinsi": t.nama_provinsi(), "website": t.website, } ) data = {"posisi": posisi} return respon_json_ok(data)
def _ambil_lokasi(data): negara = None provinsi = None provinsi_nama = None kota = None alamat = None lat = None lng = None west = None east = None north = None south = None try: data = gmaps_ambil_alamat(data) print data lng, lat = data["Point"]["coordinates"][0:2] box = data["ExtendedData"]["LatLonBox"] north = box["north"] south = box["south"] east = box["east"] west = box["west"] area = None akurasi = data["AddressDetails"]["Accuracy"] if akurasi >= 1: negara = data["AddressDetails"]["Country"]["CountryName"] area = data["AddressDetails"]["Country"].get("AdministrativeArea", None) if akurasi >= 2: provinsi_nama = area["AdministrativeAreaName"] provinsi = prov.get_kode(provinsi_nama) if akurasi >= 4: kota = area["Locality"]["LocalityName"] if akurasi >= 6: alamat = area["Locality"]["DependentLocality"]["Thoroughfare"]["ThoroughfareName"] except (ValueError, IndexError, KeyError): pass data = { "lokasi": { "negara": negara, "provinsi": provinsi, "provinsi_nama": provinsi_nama, "kota": kota, "alamat": alamat, "lat": lat, "lng": lng, "north": north, "south": south, "east": east, "west": west, } } return respon_json_ok(data)