func parseBounds(bounds string, r *maps.GeocodingRequest) { if bounds != "" { b := strings.Split(bounds, "|") sw := strings.Split(b[0], ",") ne := strings.Split(b[1], ",") swLat, err := strconv.ParseFloat(sw[0], 64) if err != nil { log.Fatalf("Couldn't parse bounds: %#v", err) } swLng, err := strconv.ParseFloat(sw[1], 64) if err != nil { log.Fatalf("Couldn't parse bounds: %#v", err) } neLat, err := strconv.ParseFloat(ne[0], 64) if err != nil { log.Fatalf("Couldn't parse bounds: %#v", err) } neLng, err := strconv.ParseFloat(ne[1], 64) if err != nil { log.Fatalf("Couldn't parse bounds: %#v", err) } r.Bounds = &maps.LatLngBounds{ NorthEast: maps.LatLng{Lat: neLat, Lng: neLng}, SouthWest: maps.LatLng{Lat: swLat, Lng: swLng}, } } }
func parseLocationType(locationType string, r *maps.GeocodingRequest) { if locationType != "" { for _, l := range strings.Split(locationType, "|") { switch l { case "ROOFTOP": r.LocationType = append(r.LocationType, maps.GeocodeAccuracyRooftop) case "RANGE_INTERPOLATED": r.LocationType = append(r.LocationType, maps.GeocodeAccuracyRangeInterpolated) case "GEOMETRIC_CENTER": r.LocationType = append(r.LocationType, maps.GeocodeAccuracyGeometricCenter) case "APPROXIMATE": r.LocationType = append(r.LocationType, maps.GeocodeAccuracyApproximate) } } } }
func parseLatLng(latlng string, r *maps.GeocodingRequest) { if latlng != "" { l := strings.Split(latlng, ",") lat, err := strconv.ParseFloat(l[0], 64) if err != nil { log.Fatalf("Couldn't parse latlng: %#v", err) } lng, err := strconv.ParseFloat(l[1], 64) if err != nil { log.Fatalf("Couldn't parse latlng: %#v", err) } r.LatLng = &maps.LatLng{ Lat: lat, Lng: lng, } } }
func parseResultType(resultType string, r *maps.GeocodingRequest) { if resultType != "" { r.ResultType = strings.Split(resultType, "|") } }