Index: examples/js/maps/demo.js |
diff --git a/examples/js/maps/demo.js b/examples/js/maps/demo.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..aa6e783c6314a5e9219a40132ce1ec831bf59f1c |
--- /dev/null |
+++ b/examples/js/maps/demo.js |
@@ -0,0 +1,79 @@ |
+#!mojo mojo:js_content_handler |
+// Demonstate a Mojo wrapper for the Geocoder JSON API. The application |
+// connects to geocoder_service.js which implements geocoder.mojom. |
+// To run this application with mojo_shell, set DIR to be the absolute path |
+// for this directory, then: |
+// mojo_shell file://$DIR/demo.js |
+ |
+define("main", [ |
+ "console", |
+ "examples/js/maps/geocoder.mojom", |
+ "mojo/public/js/core", |
+ "mojo/public/js/unicode", |
+ "mojo/services/public/js/application", |
+ "third_party/js/url", |
+], function(console, geocoder, core, unicode, application, url) { |
+ |
+ const Application = application.Application; |
+ const Geocoder = geocoder.Geocoder; |
+ const Result = geocoder.Result; |
+ const Location = geocoder.Location; |
+ const Status = geocoder.Status; |
+ const Options = geocoder.Options; |
+ const URL = url.URL; |
+ |
+ var geocoderService; |
+ |
+ function demoAddressToLocation() { |
+ console.log("Demo GeocoderServce.AddressToLocation()"); |
+ var addr = "1365 Shorebird way, Mountain View, CA"; |
+ geocoderService.addressToLocation(addr, new Options).then( |
+ function(rv) { |
+ if (rv.status == Status.OK) { |
+ for (var i = 0; i < rv.results.length; i++) { |
+ var address = rv.results[i].formatted_address; |
+ var location = rv.results[i].geometry.location; |
+ console.log("Latitude,longitude for \"" + address + "\":"); |
+ console.log(location.latitude + ", " + location.longitude); |
+ |
+ console.log(""); |
+ demoLocationToAddress(); |
+ } |
+ } else { |
+ console.log("Geocoder request failed status=" + rv.status); |
+ } |
+ }); |
+ } |
+ |
+ function demoLocationToAddress() { |
+ console.log("Demo GeocoderServce.LocationToAddress()"); |
+ var coords = new Location({ |
+ latitude: 37.41811752319336, |
+ longitude: -122.07335662841797, |
+ }); |
+ geocoderService.locationToAddress(coords, new Options).then( |
+ function(rv) { |
+ if (rv.status == Status.OK) { |
+ for (var i = 0; i < rv.results.length; i++) { |
+ var address = rv.results[i].formatted_address; |
+ var location = rv.results[i].geometry.location; |
+ console.log("Latitude,longitude for \"" + address + "\":"); |
+ console.log(location.latitude + ", " + location.longitude); |
+ } |
+ } else { |
+ console.log("Geocoder request failed status=" + rv.status); |
+ } |
+ }); |
+ } |
+ |
+ class Demo extends Application { |
+ initialize() { |
+ var geocoderURL = new URL(this.url).resolve("geocoder_service.js"); |
+ geocoderService = this.shell.connectToService(geocoderURL, Geocoder); |
+ demoAddressToLocation(); |
+ } |
+ } |
+ |
+ return Demo; |
+}); |
+ |