code: func GeoPointFromString(latLon string) (*GeoPoint, error) {
  	latlon := strings.SplitN(latLon, ",", 2)
  	if len(latlon) != 2 {
  		return nil, fmt.Errorf("elastic: %s is not a valid geo point string", latLon)
  	}
  	lat, err := strconv.ParseFloat(latlon[0], 64)
  	if err != nil {
  		return nil, err
  	}
  	lon, err := strconv.ParseFloat(latlon[1], 64)
  	if err != nil {
  		return nil, err
  	}
  	return &GeoPoint{Lat: lat, Lon: lon}, nil
  }
docs: // GeoPointFromString initializes a new GeoPoint by a string that is
  // formatted as "{latitude},{longitude}", e.g. "40.10210,-70.12091".