Exemplo n.º 1
0
def lokasi(request):
    posisi = request.GET.get("ll", None)
    alamat = request.GET.get("alamat", None)
    kota = request.GET.get("kota", None)
    provinsi = request.GET.get("provinsi", None)

    if posisi is not None:
        if not _validasi_posisi(posisi):
            raise Http404()
        q = posisi
    else:
        provinsi = prov.get_nama(provinsi)
        q = ", ".join(
            filter(
                lambda x: x != "",
                map(lambda x: x.strip(), filter(lambda x: x is not None, [alamat, kota, provinsi, "Indonesia"])),
            )
        )

    param = {"q": q, "output": "json", "sensor": "false", "key": settings.GMAPS_API_KEY}
    url = "http://maps.google.com/maps/geo?%s" % urllib.urlencode(param)

    try:
        txt = urllib2.urlopen(url).read()
        data = json.loads(txt)
    except (ValueError, urllib2.URLError):
        return HttpResponse(status=502)  # Bad Gateway

    if data["Status"]["code"] == 200:
        return _ambil_lokasi(data)
    else:
        return respon_json_error(data["Status"])
Exemplo n.º 2
0
def index(request):
    toko = Toko.objects.filter(aktif=True)

    daftar = {}
    for t in toko:
        p = t.provinsi
        d = daftar.get(p, {"nama": prov.get_nama(p), "toko": []})
        d["toko"].append(t)
        daftar[p] = d

    hasil = []
    for k, v in prov.daftar_provinsi:
        p = daftar.get(k, None)
        if p is not None:
            hasil.append(p)

    return render_to_response("toko/index.html", {"daftar": hasil}, context_instance=RequestContext(request))
Exemplo n.º 3
0
def cari(request):
    ctx = {}

    if request.method == "POST":
        form = CariForm(request.POST)
        if form.is_valid():
            alamat = form.cleaned_data["alamat"]
            kota = form.cleaned_data["kota"]
            provinsi = prov.get_nama(form.cleaned_data["provinsi"])

            posisi = _cari_posisi(alamat, kota, provinsi)
            dekat = utils.cari_terdekat(posisi["lat"], posisi["lng"])

            ctx["posisi"] = posisi
            ctx["dekat"] = dekat

    else:
        form = CariForm()

    ctx["key"] = settings.GMAPS_API_KEY
    ctx["form"] = form

    return render_to_response("toko/cari.html", ctx, context_instance=RequestContext(request))
Exemplo n.º 4
0
 def nama_provinsi(self):
     return prov.get_nama(self.provinsi)