import com.google.zxing.client.result.BookmarkDoCoMoResult;
import com.google.zxing.client.result.EmailAddressResult;
import com.google.zxing.client.result.EmailDoCoMoResult;
-import com.google.zxing.client.result.GeoParsedResult;
import com.google.zxing.client.result.ParsedReaderResult;
import com.google.zxing.client.result.ParsedReaderResultType;
import com.google.zxing.client.result.UPCParsedResult;
} catch (URISyntaxException e) {
return;
}
- } else if (type.equals(ParsedReaderResultType.GEO)) {
- GeoParsedResult geoResult = (GeoParsedResult) result;
- try {
- intent = new Intent(Intent.SENDTO_ACTION, new ContentURI(geoResult.getGoogleMapsURI()));
- } catch (URISyntaxException e) {
- return;
- }
+ //} else if (type.equals(ParsedReaderResultType.GEO)) {
+ // GeoParsedResult geoResult = (GeoParsedResult) result;
+ // try {
+ // intent = new Intent(Intent.VIEW_ACTION, new ContentURI(geoResult.getGoogleMapsURI()));
+ // // or can we send the raw geo: URI to Android? maybe it'll open Maps?
+ // // or just open a MapView
+ // } catch (URISyntaxException e) {
+ // return;
+ // }
} else if (type.equals(ParsedReaderResultType.UPC)) {
UPCParsedResult upcResult = (UPCParsedResult) result;
try {
*/
public final class GeoParsedResult extends ParsedReaderResult {
+ private final String geoURI;
private final float latitude;
private final float longitude;
private final float altitude;
- private GeoParsedResult(float latitude, float longitude, float altitude) {
+ private GeoParsedResult(String geoURI, float latitude, float longitude, float altitude) {
super(ParsedReaderResultType.GEO);
+ this.geoURI = geoURI;
this.latitude = latitude;
this.longitude = longitude;
this.altitude = altitude;
longitude = Float.parseFloat(rawText.substring(latitudeEnd + 1, longitudeEnd));
altitude = Float.parseFloat(rawText.substring(longitudeEnd + 1));
}
- return new GeoParsedResult(latitude, longitude, altitude);
+ return new GeoParsedResult(rawText, latitude, longitude, altitude);
+ }
+
+ public String getGeoURI() {
+ return geoURI;
}
/**
public String getDisplayResult() {
StringBuffer result = new StringBuffer(50);
result.append(latitude);
- result.append("deg N, ");
+ result.append(" deg N, ");
result.append(longitude);
- result.append("deg E");
+ result.append(" deg E");
if (altitude > 0.0f) {
result.append(", ");
result.append(altitude);
import com.google.zxing.client.result.BookmarkDoCoMoResult;
import com.google.zxing.client.result.EmailAddressResult;
import com.google.zxing.client.result.EmailDoCoMoResult;
-import com.google.zxing.client.result.GeoParsedResult;
import com.google.zxing.client.result.ParsedReaderResult;
import com.google.zxing.client.result.ParsedReaderResultType;
import com.google.zxing.client.result.UPCParsedResult;
} else if (type.equals(ParsedReaderResultType.EMAIL_ADDRESS)) {
String email = ((EmailAddressResult) result).getEmailAddress();
showOpenURL("Compose E-mail?", email, "mailto:" + email);
- } else if (type.equals(ParsedReaderResultType.GEO)) {
- GeoParsedResult geoResult = (GeoParsedResult) result;
- showOpenURL("Open In Google Maps?", geoResult.getDisplayResult(), geoResult.getGoogleMapsURI());
+ //} else if (type.equals(ParsedReaderResultType.GEO)) {
+ // GeoParsedResult geoResult = (GeoParsedResult) result;
+ // showOpenURL("Open In Google Maps?", geoResult.getDisplayResult(), geoResult.getGoogleMapsURI());
} else if (type.equals(ParsedReaderResultType.UPC)) {
String upc = ((UPCParsedResult) result).getUPC();
String uri = "http://www.upcdatabase.com/item.asp?upc=" + upc;