Nope, disable link from geo: URL to Google Maps. Does not quite work in the browser...
authorsrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Mon, 17 Mar 2008 16:50:03 +0000 (16:50 +0000)
committersrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Mon, 17 Mar 2008 16:50:03 +0000 (16:50 +0000)
git-svn-id: http://zxing.googlecode.com/svn/trunk@287 59b500cc-1b3d-0410-9834-0bbf25fbcc57

android/src/com/google/zxing/client/android/ResultHandler.java
core/src/com/google/zxing/client/result/GeoParsedResult.java
javame/src/com/google/zxing/client/j2me/ZXingMIDlet.java

index b1bde8b..0664375 100755 (executable)
@@ -26,7 +26,6 @@ import com.google.zxing.client.result.AddressBookDoCoMoResult;
 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;
@@ -104,13 +103,15 @@ final class ResultHandler extends Handler {
         } 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 {
index 1f68835..297c2d7 100644 (file)
@@ -28,12 +28,14 @@ import com.google.zxing.Result;
  */
 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;
@@ -66,7 +68,11 @@ public final class GeoParsedResult extends ParsedReaderResult {
       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;
   }
 
   /**
@@ -93,9 +99,9 @@ public final class GeoParsedResult extends ParsedReaderResult {
   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);
index 1073547..0d07448 100644 (file)
@@ -20,7 +20,6 @@ import com.google.zxing.Result;
 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;
@@ -208,9 +207,9 @@ public final class ZXingMIDlet extends MIDlet {
     } 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;