Java 类com.google.appengine.api.datastore.GeoPt 实例源码
项目:MobileShoppingAssistant-sample
文件:PlacesHelper.java
/**
* Builds a new Place document to insert in the Places index.
* @param placeId the identifier of the place in the database.
* @param placeName the name of the place.
* @param placeAddress the address of the place.
* @param location the GPS location of the place, as a GeoPt.
* @return the Place document created.
*/
public static Document buildDocument(
final Long placeId, final String placeName,
final String placeAddress, final GeoPt location) {
GeoPoint geoPoint = new GeoPoint(location.getLatitude(),
location.getLongitude());
Document.Builder builder = Document.newBuilder()
.addField(Field.newBuilder().setName("id")
.setText(placeId.toString()))
.addField(Field.newBuilder().setName("name").setText(placeName))
.addField(Field.newBuilder().setName("address")
.setText(placeAddress))
.addField(Field.newBuilder().setName("place_location")
.setGeoPoint(geoPoint));
// geo-location doesn't work under dev_server, so let's add another
// field to use for retrieving documents
if (environment.value() == Development) {
builder.addField(Field.newBuilder().setName("value").setNumber(1));
}
return builder.build();
}
项目:viaja-facil
文件:LineListServiceImpl.java
public SearchResultProxy getTrainConnections(float lat1, float lon1, float lat2, float lon2, boolean ignoreTrains, boolean ignoreSubte) throws IllegalArgumentException {
QuotaService qs = QuotaServiceFactory.getQuotaService();
long start = qs.getCpuTimeInMegaCycles();
Dao.getInstance();
Objectify ofy = ObjectifyService.begin();
String functionName = "getTrainConnections";
HashSet<Key<Line>> tabuTrainsSet = new HashSet<Key<Line>>();
if(ignoreTrains) {
tabuTrainsSet.addAll(Dao.getTrainKeys());
}
if(ignoreSubte) {
tabuTrainsSet.addAll(Dao.getSubteKeys());
}
ConnectionProxy connTren = Dao.getInstance().indirectSearch(new GeoPt(lat1, lon1), new GeoPt(lat2, lon2), tabuTrainsSet, new HashSet<Key<Line>>(), ofy);
List<ConnectionProxy> conns = new LinkedList<ConnectionProxy>();
conns.add(connTren);
long end = qs.getCpuTimeInMegaCycles();
double cpuSeconds = qs.convertMegacyclesToCpuSeconds(end - start);
Logger.getLogger("LineListServiceImpl").log(Level.INFO, functionName + ": " + cpuSeconds + " CPU seconds.");
if(connTren != null) {
return new SearchResultProxy(conns, null, null);
} else {
return null;
}
}
项目:viaja-facil
文件:Utils.java
public static Point closestPoint(GeoPt thePoint, Collection<Point> points) {
GeoPt p = thePoint;
double dMin = 99999999.9;
Point pMin = null;
for(Point pCur : points) {
double distCur = Utils.distanceApprox(p, pCur);
if(pCur.isIgnore()) { // absolutely avoid points that are set as ignore. Related to the dirty hack that searches any point, if none were found that are not "ignore"-flagged. Theoretically there shouldn't be any case where this is necessary, but right now there is (rarely).
distCur += 10000;
}
if(distCur < dMin) {
dMin = distCur;
pMin = pCur;
}
}
return pMin;
}
项目:Loqale
文件:PlaceUtil.java
public static List<Place> getPlacesByProximity(GeoPt origin, Double proximityMeters, int count){
List<Place> places = new ArrayList<Place>();
//hmmm... inequality filters are limited to one operation
// this would be expensive on a large DB...
List<Place> results = new ArrayList<Place>();
places.addAll(ofy().load().type(Place.class).limit(count).list());
for(Place p : places) {
GeoPt placeLocation =
new GeoPt(p.getLatitude().floatValue(), p.getLongitude().floatValue());
double distance = PlaceUtil.getDistanceInMeters(origin,placeLocation);
if(distance <= proximityMeters){
// covert distance to string and pack into payload for device
double distanceMiles = distance * metersToMiles;
String distanceStr = String.format("%.2f", distanceMiles);
p.setDistance(distanceStr + " miles");
results.add(p);
}
}
return results;
}
项目:Loqale
文件:PlaceEndpoint.java
/**
* Return a collection of registered devices
*
* @param count The number of devices to list
* @param userLongitude The coordinate of user device
* @param userLatitude The coordinate of user deivce
* @param radiusInMeters Proximity to search
* @return a list of Google Cloud Messaging registration Ids
*/
@ApiMethod(name = "listPlaces")
public Collection<Place> listPlaces(@Named("count") int count,
@Named("longitude") Double userLongitude, @Named("latitude") Double userLatitude,
@Named("range") Double radiusInMeters) {
DataInjector injector = new DataInjector();
injector.createDataSet();
// Convert Strings into floats
float longitude, latitude;
longitude = userLongitude.floatValue();
latitude = userLatitude.floatValue();
GeoPt location = new GeoPt(latitude, longitude);
List<Place> places = PlaceUtil.getPlacesByProximity(location,radiusInMeters,count);
log.info(places.size() + " places returned ");
return places;
//return CollectionResponse.<Place>builder().setItems(places).build();
}
项目:appengine-tck
文件:IndexQueryTest.java
@Before
public void addData() throws InterruptedException {
Query query = new Query(kindName, rootKey);
if (service.prepare(query).countEntities(fetchOption) == 0) {
List<Entity> elist = new ArrayList<Entity>();
for (int i = 0; i < count; i++) {
Entity newRec = new Entity(kindName, rootKey);
newRec.setProperty("stringData", "string test data " + i);
newRec.setProperty("intData", 10 * i);
newRec.setProperty("stringList", Arrays.asList("abc" + i, "xyz" + i, "abc" + i));
newRec.setProperty("intList", Arrays.asList(i, 50 + i, 90 + i));
newRec.setProperty("timestamp", new Date());
newRec.setProperty("floatData", new Float(i + 0.1));
newRec.setProperty("ratingData", new Rating(i + 20));
newRec.setProperty("booleanData", true);
newRec.setProperty("geoptData", new GeoPt((float) (i * 20 - 90), new Float(i * 30 - 179.1)));
newRec.setProperty("byteStrProp", new ShortBlob(("shortblob" + (i * 30)).getBytes()));
elist.add(newRec);
}
service.put(elist);
sync(waitTime);
}
}
项目:appengine-tck
文件:QueryTest.java
@Test
public void testWithPropertyProjection() {
Query query = new Query(kindName, rootKey);
query.addProjection(new PropertyProjection("geoptData", GeoPt.class));
Filter filter1 = Query.CompositeFilterOperator.or(
Query.FilterOperator.LESS_THAN.of("intList", 5),
Query.FilterOperator.GREATER_THAN.of("intList", 90));
Filter filter2 = Query.FilterOperator.EQUAL.of("intList", 52);
query.setFilter(Query.CompositeFilterOperator.and(filter1, filter2));
// sql statement
String sql = "SELECT geoptData FROM " + kindName;
sql += " WHERE ((intList < 5 or intList > 90) AND intList = 52)";
sql += " AND __ancestor__ is " + rootKey;
assertEquals(sql.toLowerCase(), query.toString().toLowerCase());
// check query result
List<Entity> results = service.prepare(query).asList(fo);
Assert.assertTrue(results.size() > 0);
assertEquals(new GeoPt((float) (2.12), (float) (2.98)), results.get(0).getProperty("geoptData"));
for (Entity e : results) {
assertEquals(1, e.getProperties().size());
assertTrue(e.getProperties().containsKey("geoptData"));
}
}
项目:solutions-mobile-shopping-assistant-backend-java
文件:PlacesHelper.java
static Document buildDocument(
String placeId, String placeName, String placeAddress, GeoPt location) {
GeoPoint geoPoint = new GeoPoint(location.getLatitude(), location.getLongitude());
Document.Builder builder = Document.newBuilder()
.addField(Field.newBuilder().setName("id").setText(placeId))
.addField(Field.newBuilder().setName("name").setText(placeName))
.addField(Field.newBuilder().setName("address").setText(placeAddress))
.addField(Field.newBuilder().setName("place_location").setGeoPoint(geoPoint));
// geo-location doesn't work under dev_server, so let's add another
// field to use for retrieving documents
if (environment.value() == Development) {
builder.addField(Field.newBuilder().setName("value").setNumber(1));
}
Document place = builder.build();
return place;
}
项目:mashmesh
文件:FusionTableContentWriterTest.java
@Test
public void testComplexRow() throws IOException {
Table table = new Table().setColumns(Arrays.asList(
new Column().setName("first").setType("LOCATION"),
new Column().setName("second").setType("STRING"),
new Column().setName("third").setType("STRING"),
new Column().setName("fourth").setType("DATETIME")
));
FusionTableContentWriter writer = new FusionTableContentWriter(table);
DateTime dateTime = DateTime.parse("2013-05-22T11:00:00-03:00");
writer.writeRecord(new GeoPt(44.990288f, -64.131035f), "a string", "another string", dateTime);
Assert.assertEquals(
"\"first\",\"second\",\"third\",\"fourth\"\n" +
"\"44.990288 -64.131035\",\"a string\",\"another string\",\"2013-05-22T11:00:00-03:00\"\n",
getOutputString(writer)
);
}
项目:mashmesh
文件:FusionTableContentWriterTest.java
@Test
public void testGeoptEncoding() throws IOException {
Table table = new Table().setColumns(Arrays.asList(
new Column().setName("name").setType("STRING"),
new Column().setName("location").setType("LOCATION")
));
FusionTableContentWriter writer = new FusionTableContentWriter(table);
writer.writeRecord("John Smith", new GeoPt(40.767838f, -73.981972f));
writer.writeRecord("Jane Adams", new GeoPt(44.990288f, -64.131035f));
writer.writeRecord("Bob Mcconnell", new GeoPt(46.099918f, -60.754677f));
Assert.assertEquals(
"\"name\",\"location\"\n" +
"\"John Smith\",\"40.767838 -73.981972\"\n" +
"\"Jane Adams\",\"44.990288 -64.131035\"\n" +
"\"Bob Mcconnell\",\"46.099918 -60.754677\"\n",
getOutputString(writer)
);
}
项目:karma-exchange
文件:FacebookSocialNetworkProvider.java
private Address getAddress(@Nullable Location fbLocation) {
if (fbLocation == null) {
return null;
}
Address address = new Address();
address.setStreet(fbLocation.getStreet());
address.setCity(fbLocation.getCity());
address.setState(fbLocation.getState());
address.setCountry(fbLocation.getCountry());
address.setZip(fbLocation.getZip());
if ((fbLocation.getLatitude() != null) && (fbLocation.getLongitude() != null)) {
address.setGeoPt(GeoPtWrapper.create(
new GeoPt(fbLocation.getLatitude().floatValue(), fbLocation.getLongitude().floatValue())));
}
return address;
}
项目:karma-exchange
文件:GeocodingService.java
@Nullable
public static GeoPt getGeoPt(String addressStr) {
// TODO(avaliani): use an api key to avoid geocoding quota limits
final Geocoder geocoder = new Geocoder();
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder()
.setAddress(addressStr)
.setLanguage("en")
.getGeocoderRequest();
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
if (geocoderResponse.getStatus() == GeocoderStatus.OK) {
GeocoderResult firstResult = geocoderResponse.getResults().get(0);
return new GeoPt(
firstResult.getGeometry().getLocation().getLat().floatValue(),
firstResult.getGeometry().getLocation().getLng().floatValue());
} else {
log.log(GEOCODE_LOG_LEVEL,
"Geocoding failed: status=" + geocoderResponse.getStatus() + ", " +
"response=" + geocoderResponse);
// TODO(avaliani): Properly handle geopt encoding failures. Retrying in cases where
// the error is over quota.
return null;
}
}
项目:springboot-spwa-gae-demo
文件:SearchModule.java
public static IndexTypeLookup defaultIndexTypeLookup() {
IndexTypeLookup indexTypeLookup = new IndexTypeLookup();
indexTypeLookup.addMapping(Key.class, IndexType.Identifier);
indexTypeLookup.addMapping(com.google.appengine.api.datastore.Key.class, IndexType.Identifier);
indexTypeLookup.addMapping(GeoPt.class, IndexType.GeoPoint);
return indexTypeLookup;
}
项目:springboot-spwa-gae-demo
文件:GeoPointtToGeoPtTransformerTest.java
@Test
public void shouldCreateGeoPointFromGeoPt() {
GeoPoint geoPoint = new GeoPoint(1.23, 4.56);
GeoPt result = transformer.from(geoPoint);
assertThat(result.getLatitude(), is(1.23f));
assertThat(result.getLongitude(), is(4.56f));
}
项目:springboot-spwa-gae-demo
文件:GeoPtToGeoPointTransformerTest.java
@Test
public void shouldCreateGeoPointFromGeoPt() {
GeoPt geoPt = new GeoPt(1.23f, 4.56f);
GeoPoint result = transformer.from(geoPt);
assertThat(result.getLatitude(), is((double) 1.23f));
assertThat(result.getLongitude(), is((double) 4.56f));
}
项目:googlecloud-techtalk
文件:SearchModule.java
public static IndexTypeLookup defaultIndexTypeLookup() {
IndexTypeLookup indexTypeLookup = new IndexTypeLookup();
indexTypeLookup.addMapping(Key.class, IndexType.Identifier);
indexTypeLookup.addMapping(com.google.appengine.api.datastore.Key.class, IndexType.Identifier);
indexTypeLookup.addMapping(GeoPt.class, IndexType.GeoPoint);
return indexTypeLookup;
}
项目:googlecloud-techtalk
文件:GeoPointtToGeoPtTransformerTest.java
@Test
public void shouldCreateGeoPointFromGeoPt() {
GeoPoint geoPoint = new GeoPoint(1.23, 4.56);
GeoPt result = transformer.from(geoPoint);
assertThat(result.getLatitude(), is(1.23f));
assertThat(result.getLongitude(), is(4.56f));
}
项目:googlecloud-techtalk
文件:GeoPtToGeoPointTransformerTest.java
@Test
public void shouldCreateGeoPointFromGeoPt() {
GeoPt geoPt = new GeoPt(1.23f, 4.56f);
GeoPoint result = transformer.from(geoPt);
assertThat(result.getLatitude(), is((double) 1.23f));
assertThat(result.getLongitude(), is((double) 4.56f));
}
项目:AppleSeed
文件:SearchModule.java
public static IndexTypeLookup defaultIndexTypeLookup() {
IndexTypeLookup indexTypeLookup = new IndexTypeLookup();
indexTypeLookup.addMapping(Key.class, IndexType.Identifier);
indexTypeLookup.addMapping(com.google.appengine.api.datastore.Key.class, IndexType.Identifier);
indexTypeLookup.addMapping(GeoPt.class, IndexType.GeoPoint);
return indexTypeLookup;
}
项目:AppleSeed
文件:GeoPointtToGeoPtTransformerTest.java
@Test
public void shouldCreateGeoPointFromGeoPt() {
GeoPoint geoPoint = new GeoPoint(1.23, 4.56);
GeoPt result = transformer.from(geoPoint);
assertThat(result.getLatitude(), is(1.23f));
assertThat(result.getLongitude(), is(4.56f));
}
项目:AppleSeed
文件:GeoPtToGeoPointTransformerTest.java
@Test
public void shouldCreateGeoPointFromGeoPt() {
GeoPt geoPt = new GeoPt(1.23f, 4.56f);
GeoPoint result = transformer.from(geoPt);
assertThat(result.getLatitude(), is((double) 1.23f));
assertThat(result.getLongitude(), is((double) 4.56f));
}
项目:MapatonAPI
文件:Station.java
/**
* This is the overloaded constructor used to create a complete instance of
* a station.
*
* @param name
* @param description
* @param location
* @param knownTrails
*/
public Station(String name, String description, IndexedGPSLocation location) {
super();
this.displayName = name;
this.name = name.toUpperCase().trim();
this.description = description;
this.location = location;
if (location != null) {
this.geopt = new GeoPt(location.getLatitude().floatValue(), location.getLongitude().floatValue());
}
}
项目:MapatonAPI
文件:Platform.java
/**
* Instantiates a new platform.
*
* @param station the station
* @param name the name
* @param description the description
* @param location the location
*/
public Platform(Ref<Station> station, String name, String description, IndexedGPSLocation location) {
super();
this.station=station;
this.name = name;
this.description = description;
this.location = location;
this.geopt = new GeoPt(location.getLatitude().floatValue(), location.getLongitude().floatValue());
}
项目:viaja-facil
文件:Point.java
public Point(String street, float lat, float lon, boolean ignore, boolean forSearchOnly, Key<Line> owner) {
this.street = street;
this.latlon = new GeoPt(lat, lon);
this.ignore = ignore;
this.forSearchOnly = forSearchOnly;
this.nextMainPointIndex = -1;
// this.lat = lat;
// this.lon = lon;
if(forSearchOnly && ignore) {
System.err.println("Point(...): forSearchOnly and ignore are set at the same time. This should not happen since it makes no sense to create a point for search only, yet ignore it in search then");
}
defaultGeoCell = generateGeoCell();
this.owner = owner;
}
项目:viaja-facil
文件:ExtractedFunctions.java
public UserFavouritePositionProxy addFavourite(UserFavouritePositionProxy fpp) {
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user != null) {
Objectify ofy = Dao.getInstance().getObjectify();
UserFavouritePosition toSave = new UserFavouritePosition(user, new GeoPt((float)fpp.getLat(), (float)fpp.getLon()), fpp.getName());
Dao.getInstance().addUserFavouritePosition(toSave, ofy);
return new UserFavouritePositionProxy(fpp.getName(), fpp.getLat(), fpp.getLon(), toSave.getId().toString());
} else {
return null;
}
}
项目:Loqale
文件:PlaceUtil.java
public static double getDistanceInMeters(GeoPt location1, GeoPt location2){
// derived from haversine
double loc1Lat = Math.toRadians(location1.getLatitude());
double loc2Lat = Math.toRadians(location2.getLatitude());
double latDelta = Math.toRadians(location2.getLatitude()-location1.getLatitude());
double lonDelta = Math.toRadians(location2.getLongitude() - location1.getLongitude());
double a = Math.sin(latDelta/2) * Math.sin(latDelta/2) +
Math.cos(loc1Lat) * Math.cos(loc2Lat) *
Math.sin(lonDelta/2) * Math.sin(lonDelta/2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
return radiusEarthMeters * c;
}
项目:appengine-tck
文件:GeoPtDataTest.java
@Test
public void testGets() throws Exception {
Query query = new Query(kindName, rootKey);
GeoPt filter = new GeoPt(Float.valueOf(60).floatValue(), Float.valueOf(145).floatValue());
query.setFilter(new FilterPredicate(propertyName, Query.FilterOperator.EQUAL, filter));
Entity entity = service.prepare(query).asSingleEntity();
GeoPt geopt = (GeoPt) entity.getProperty(propertyName);
assertTrue(geopt.equals(filter));
assertEquals(Float.valueOf(geopt.getLatitude()).toString(), Float.valueOf(60).toString());
assertEquals(Float.valueOf(geopt.getLongitude()).toString(), Float.valueOf(145).toString());
}
项目:appengine-tck
文件:GeoPtDataTest.java
@Test
public void testGeoptType() {
List<Entity> elist = doQuery(kindName, propertyName, GeoPt.class, true);
GeoPt rate = (GeoPt) elist.get(0).getProperty(propertyName);
GeoPt sameDat = (GeoPt) elist.get(0).getProperty(propertyName);
GeoPt diffDat = (GeoPt) elist.get(1).getProperty(propertyName);
assertTrue(rate.equals(sameDat));
assertFalse(rate.equals(diffDat));
assertEquals(-12, rate.getLatitude(), 0);
assertEquals(120, rate.getLongitude(), 0);
assertEquals(0, rate.compareTo(sameDat));
assertTrue(rate.compareTo(diffDat) != 0);
assertEquals(rate.hashCode(), rate.hashCode());
}
项目:appengine-tck
文件:QueryTest.java
@Before
public void createData() throws InterruptedException {
clearData(kindName);
List<Entity> elist = new ArrayList<>();
for (int i = 0; i < count; i++) {
Entity newRec = new Entity(kindName, rootKey);
newRec.setProperty("stringData", "string data" + i);
newRec.setProperty("timestamp", new Date());
newRec.setProperty("shortBlobData", new ShortBlob(("shortBlobData" + i).getBytes()));
newRec.setProperty("intData", 20 * i);
newRec.setProperty("textData", new Text("textData" + i));
newRec.setProperty("floatData", 1234 + 0.1 * i);
newRec.setProperty("booleanData", true);
newRec.setProperty("urlData", new Link("http://www.google.com"));
newRec.setProperty("emailData", new Email("somebody123" + i + "@google.com"));
newRec.setProperty("phoneData", new PhoneNumber("408-123-000" + i));
newRec.setProperty("adressData", new PostalAddress("123 st. CA 12345" + i));
newRec.setProperty("ratingData", new Rating(10 * i));
newRec.setProperty("geoptData", new GeoPt((float) (i + 0.12), (float) (i + 0.98)));
newRec.setProperty("categoryData", new Category("category" + i));
newRec.setProperty("intList", Arrays.asList(i, 50 + i, 90 + i));
elist.add(newRec);
}
service.put(elist);
sync(1000);
}
项目:appengine-tck
文件:DistinctTest.java
@Before
public void createData() throws InterruptedException {
Query query = new Query(kindName, rootKey);
if (service.prepare(query).countEntities(fo) == 0) {
int props = 15;
List<Entity> elist = new ArrayList<Entity>();
elist.clear();
for (int i = 0; i < count; i++) {
Entity newRec = new Entity(kindName, rootKey);
if (i == 0) {
newRec.setProperty("stringData", null);
} else if (i == 15) {
newRec.setProperty("stringData", "");
} else {
newRec.setProperty("stringData", "string" + i / (props));
}
newRec.setProperty("timestamp", new Date());
newRec.setProperty("intData", i / (props - 2));
if (i == 4) {
newRec.setProperty("floatData", null);
} else {
newRec.setProperty("floatData", new Double(12 + i / (props - 4) * 0.1));
}
if ((count % 2) == 0) {
newRec.setProperty("booleanData", true);
} else {
newRec.setProperty("booleanData", false);
}
newRec.setProperty("geoptData",
new GeoPt((float) (i / (props - 9) + 12.0), (float) (i / (props - 9) + 90.0)));
newRec.setProperty("intList",
Arrays.asList(i / (props - 11), 50 + i / (props - 11), 90 + i / (props - 11)));
elist.add(newRec);
}
service.put(elist);
sync(waitTime);
}
}
项目:mashmesh
文件:GeoUtils.java
public static GeoPt parseGeoPt(String latlng) {
if (latlng == null) {
return null;
}
String[] parts = latlng.split(",", 2);
// TODO: Validation
return new GeoPt(Float.parseFloat(parts[0]), Float.parseFloat(parts[1]));
}
项目:mashmesh
文件:GeoUtils.java
public static GeoPt geocode(String address) throws GeocodeFailedException, GeocodeNotFoundException {
// The underlying geocoder library fails if it receives an empty address.
if (address.trim().isEmpty()) {
throw new GeocodeFailedException(address, GeocoderStatus.INVALID_REQUEST);
}
String cacheKey = "geocode:" + address;
CacheProxy cache = new CacheProxy();
Object cacheEntry = cache.get(cacheKey);
// Backwards comparison -- cacheEntry may be null
if (INVALID_LOCATION.equals(cacheEntry)) {
throw new GeocodeNotFoundException(address);
}
if (cacheEntry != null) {
return (GeoPt) cacheEntry;
}
Geocoder geocoder = new Geocoder(); // TODO: Use Maps for Business?
GeocoderRequest request = new GeocoderRequestBuilder().setAddress(address).getGeocoderRequest();
GeocodeResponse response = geocoder.geocode(request);
GeocoderStatus status = response.getStatus();
if (status == GeocoderStatus.ZERO_RESULTS) {
cache.put(cacheKey, INVALID_LOCATION);
throw new GeocodeNotFoundException(address);
} else if (status != GeocoderStatus.OK) {
// We've encountered a temporary error, so return without caching the missing point.
throw new GeocodeFailedException(address, response.getStatus());
} else {
LatLng location = response.getResults().get(0).getGeometry().getLocation();
GeoPt geoPt = new GeoPt(location.getLat().floatValue(), location.getLng().floatValue());
cache.put(cacheKey, geoPt);
return geoPt;
}
}
项目:mashmesh
文件:FusionTableContentWriter.java
private static String serializeObjectForFusionTables(Object object) {
if (object instanceof GeoPt) {
GeoPt geoPt = (GeoPt) object;
return String.format("%f %f", geoPt.getLatitude(), geoPt.getLongitude());
} else if (object instanceof DateTime) {
DateTime dateTime = (DateTime) object;
DateTimeFormatter iso8601Formatter = ISODateTimeFormat.dateTimeNoMillis();
return iso8601Formatter.print(dateTime);
} else {
return object.toString();
}
}
项目:mashmesh
文件:VolunteerLocatorTest.java
private UserProfile createProfile(String userId, GeoPt location) {
UserProfile userProfile = new UserProfile();
userProfile.setUserId(userId);
userProfile.setLocation(location);
OfyService.ofy().put(userProfile);
return userProfile;
}
项目:MapatonAPI
文件:Station.java
/**
* @return the geopt
*/
public GeoPt getGeopt() {
return geopt;
}
项目:MapatonAPI
文件:Station.java
/**
* @param location
* the location to set
*/
public void setLocation(IndexedGPSLocation location) {
this.location = location;
this.geopt = new GeoPt(location.getLatitude().floatValue(), location.getLongitude().floatValue());
}
项目:viaja-facil
文件:UserFavouritePosition.java
public UserFavouritePosition(User user, GeoPt pos, String name) {
this.user = user;
this.pos = pos;
this.name = name;
}
项目:viaja-facil
文件:UserFavouritePosition.java
public GeoPt getPos() {
return pos;
}
项目:viaja-facil
文件:Point.java
public GeoPt getLatlon() {
return latlon;
}