Skip to content

Commit

Permalink
Adding in string buffer logic to google geocoder
Browse files Browse the repository at this point in the history
  • Loading branch information
kellydunn committed May 10, 2015
1 parent 004e218 commit b64a898
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 22 deletions.
15 changes: 12 additions & 3 deletions google_geocoder.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"io/ioutil"
"net/http"
"net/url"
"bytes"
)

// This struct contains all the funcitonality
Expand Down Expand Up @@ -80,12 +81,20 @@ func (g *GoogleGeocoder) Request(params string) ([]byte, error) {
func (g *GoogleGeocoder) Geocode(query string) (*Point, error) {
url_safe_query := url.QueryEscape(query)

key := ""
var queryStr = bytes.NewBufferString("")
_, err := queryStr.WriteString(fmt.Sprintf("address=%s", url_safe_query))
if err != nil {
return nil, err
}

if (GoogleAPIKey != "") {
key = "&key="+GoogleAPIKey
_, err := queryStr.WriteString(fmt.Sprintf("&key=%s", GoogleAPIKey))
if err != nil {
return nil, err
}
}

data, err := g.Request(fmt.Sprintf("address=%s%s", url_safe_query, key))
data, err := g.Request(queryStr.String())
if err != nil {
return nil, err
}
Expand Down
35 changes: 16 additions & 19 deletions mapquest_geocoder.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,20 +83,19 @@ func (g *MapQuestGeocoder) Geocode(query string) (*Point, error) {
url_safe_query := url.QueryEscape(query)

var queryBuf = bytes.NewBufferString("search.php?")
_, err := queryBuf.WriteString(fmt.Sprintf("q=%s", url_safe_query))
if err != nil {
return nil, err
}

if (MapquestAPIKey != "") {
_, err := queryBuf.WriteString(fmt.Sprintf("key=%s&q=%s", MapquestAPIKey, url_safe_query))
_, err := queryBuf.WriteString(fmt.Sprintf("&key=%s", MapquestAPIKey))
if err != nil {
return nil, err
}
} else {
_, err := queryBuf.WriteString(fmt.Sprintf("q=%s", url_safe_query))
if err != nil {
return nil, err
}
}
}

_, err := queryBuf.WriteString("&format=json")
_, err = queryBuf.WriteString("&format=json")
if err != nil {
return nil, err
}
Expand All @@ -106,8 +105,6 @@ func (g *MapQuestGeocoder) Geocode(query string) (*Point, error) {
return nil, err
}

fmt.Printf("%s", data)

res := []*mapQuestGeocodeResponse{}
json.Unmarshal(data, &res)

Expand Down Expand Up @@ -138,19 +135,19 @@ func (g *MapQuestGeocoder) Geocode(query string) (*Point, error) {
func (g *MapQuestGeocoder) ReverseGeocode(p *Point) (string, error) {
var queryBuf = bytes.NewBufferString("reverse.php?")

_, err := queryBuf.WriteString(fmt.Sprintf("lat=%f&lng=%f", p.lat, p.lng))
if err != nil {
return "", err
}

if (MapquestAPIKey != "") {
_, err := queryBuf.WriteString(fmt.Sprintf("key=%s&lat=%f&lng=%f", MapquestAPIKey, p.lat, p.lng))
_, err := queryBuf.WriteString(fmt.Sprintf("&key=%s", MapquestAPIKey))
if err != nil {
return "", err
}
} else {
_, err := queryBuf.WriteString(fmt.Sprintf("lat=%f&lng=%f", p.lat, p.lng))
if err != nil {
return "", err
}
}

_, err := queryBuf.WriteString("&format=json")
}

_, err = queryBuf.WriteString("&format=json")
if err != nil {
return "", err
}
Expand Down

0 comments on commit b64a898

Please sign in to comment.