use of com.google.type.LatLng in project firebase-android-sdk by firebase.
the class FirestoreIndexValueWriter method writeIndexValueAux.
private void writeIndexValueAux(Value indexValue, DirectionalIndexByteEncoder encoder) {
switch(indexValue.getValueTypeCase()) {
case NULL_VALUE:
writeValueTypeLabel(encoder, INDEX_TYPE_NULL);
break;
case BOOLEAN_VALUE:
writeValueTypeLabel(encoder, INDEX_TYPE_BOOLEAN);
encoder.writeLong(indexValue.getBooleanValue() ? 1 : 0);
break;
case DOUBLE_VALUE:
double number = indexValue.getDoubleValue();
if (Double.isNaN(number)) {
writeValueTypeLabel(encoder, INDEX_TYPE_NAN);
break;
}
writeValueTypeLabel(encoder, INDEX_TYPE_NUMBER);
if (number == -0.0) {
// -0.0, 0 and 0.0 are all considered the same
encoder.writeDouble(0.0);
} else {
encoder.writeDouble(number);
}
break;
case INTEGER_VALUE:
writeValueTypeLabel(encoder, INDEX_TYPE_NUMBER);
// Double and long sort the same
encoder.writeDouble(indexValue.getIntegerValue());
break;
case TIMESTAMP_VALUE:
Timestamp timestamp = indexValue.getTimestampValue();
writeValueTypeLabel(encoder, INDEX_TYPE_TIMESTAMP);
encoder.writeLong(timestamp.getSeconds());
encoder.writeLong(timestamp.getNanos());
break;
case STRING_VALUE:
writeIndexString(indexValue.getStringValue(), encoder);
writeTruncationMarker(encoder);
break;
case BYTES_VALUE:
writeValueTypeLabel(encoder, INDEX_TYPE_BLOB);
encoder.writeBytes(indexValue.getBytesValue());
writeTruncationMarker(encoder);
break;
case REFERENCE_VALUE:
writeIndexEntityRef(indexValue.getReferenceValue(), encoder);
break;
case GEO_POINT_VALUE:
LatLng geoPoint = indexValue.getGeoPointValue();
writeValueTypeLabel(encoder, INDEX_TYPE_GEOPOINT);
encoder.writeDouble(geoPoint.getLatitude());
encoder.writeDouble(geoPoint.getLongitude());
break;
case MAP_VALUE:
if (Values.isMaxValue(indexValue)) {
writeValueTypeLabel(encoder, Integer.MAX_VALUE);
break;
}
writeIndexMap(indexValue.getMapValue(), encoder);
writeTruncationMarker(encoder);
break;
case ARRAY_VALUE:
writeIndexArray(indexValue.getArrayValue(), encoder);
writeTruncationMarker(encoder);
break;
default:
throw new IllegalArgumentException("unknown index value type " + indexValue.getValueTypeCase());
}
}
use of com.google.type.LatLng in project java-docs-samples by GoogleCloudPlatform.
the class CommuteSearchJobs method searchJobs.
// Search Jobs with histogram queries.
public static void searchJobs(String projectId, String tenantId) throws IOException {
// the "close" method on the client to safely clean up any remaining background resources.
try (JobServiceClient jobServiceClient = JobServiceClient.create()) {
TenantName parent = TenantName.of(projectId, tenantId);
String domain = "www.example.com";
String sessionId = "Hashed session identifier";
String userId = "Hashed user identifier";
RequestMetadata requestMetadata = RequestMetadata.newBuilder().setDomain(domain).setSessionId(sessionId).setUserId(userId).build();
CommuteMethod commuteMethod = CommuteMethod.DRIVING;
long seconds = 3600L;
Duration travelDuration = Duration.newBuilder().setSeconds(seconds).build();
double latitude = 37.422408;
double longitude = -122.084068;
LatLng startCoordinates = LatLng.newBuilder().setLatitude(latitude).setLongitude(longitude).build();
CommuteFilter commuteFilter = CommuteFilter.newBuilder().setCommuteMethod(commuteMethod).setTravelDuration(travelDuration).setStartCoordinates(startCoordinates).build();
JobQuery jobQuery = JobQuery.newBuilder().setCommuteFilter(commuteFilter).build();
SearchJobsRequest request = SearchJobsRequest.newBuilder().setParent(parent.toString()).setRequestMetadata(requestMetadata).setJobQuery(jobQuery).build();
for (SearchJobsResponse.MatchingJob responseItem : jobServiceClient.searchJobs(request).iterateAll()) {
System.out.format("Job summary: %s%n", responseItem.getJobSummary());
System.out.format("Job title snippet: %s%n", responseItem.getJobTitleSnippet());
Job job = responseItem.getJob();
System.out.format("Job name: %s%n", job.getName());
System.out.format("Job title: %s%n", job.getTitle());
}
}
}
Aggregations