OLD | NEW |
| (Empty) |
1 #!mojo mojo:js_content_handler | |
2 // Demonstate a Mojo wrapper for the Geocoder JSON API. The application | |
3 // connects to geocoder_service.js which implements geocoder.mojom. | |
4 // To run this application with mojo_shell, set DIR to be the absolute path | |
5 // for this directory, then: | |
6 // mojo_shell file://$DIR/demo.js | |
7 | |
8 define("main", [ | |
9 "console", | |
10 "examples/js/maps/geocoder.mojom", | |
11 "mojo/public/js/core", | |
12 "mojo/public/js/unicode", | |
13 "mojo/services/public/js/application", | |
14 "third_party/js/url", | |
15 ], function(console, geocoder, core, unicode, application, url) { | |
16 | |
17 const Application = application.Application; | |
18 const Geocoder = geocoder.Geocoder; | |
19 const Result = geocoder.Result; | |
20 const Location = geocoder.Location; | |
21 const Status = geocoder.Status; | |
22 const Options = geocoder.Options; | |
23 const URL = url.URL; | |
24 | |
25 var geocoderService; | |
26 | |
27 function demoAddressToLocation() { | |
28 console.log("Demo GeocoderServce.AddressToLocation()"); | |
29 var addr = "1365 Shorebird way, Mountain View, CA"; | |
30 geocoderService.addressToLocation(addr, new Options).then( | |
31 function(rv) { | |
32 if (rv.status == Status.OK) { | |
33 for (var i = 0; i < rv.results.length; i++) { | |
34 var address = rv.results[i].formatted_address; | |
35 var location = rv.results[i].geometry.location; | |
36 console.log("Latitude,longitude for \"" + address + "\":"); | |
37 console.log(location.latitude + ", " + location.longitude); | |
38 | |
39 console.log(""); | |
40 demoLocationToAddress(); | |
41 } | |
42 } else { | |
43 console.log("Geocoder request failed status=" + rv.status); | |
44 } | |
45 }); | |
46 } | |
47 | |
48 function demoLocationToAddress() { | |
49 console.log("Demo GeocoderServce.LocationToAddress()"); | |
50 var coords = new Location({ | |
51 latitude: 37.41811752319336, | |
52 longitude: -122.07335662841797, | |
53 }); | |
54 geocoderService.locationToAddress(coords, new Options).then( | |
55 function(rv) { | |
56 if (rv.status == Status.OK) { | |
57 for (var i = 0; i < rv.results.length; i++) { | |
58 var address = rv.results[i].formatted_address; | |
59 var location = rv.results[i].geometry.location; | |
60 console.log("Latitude,longitude for \"" + address + "\":"); | |
61 console.log(location.latitude + ", " + location.longitude); | |
62 } | |
63 } else { | |
64 console.log("Geocoder request failed status=" + rv.status); | |
65 } | |
66 }); | |
67 } | |
68 | |
69 class Demo extends Application { | |
70 initialize() { | |
71 var geocoderURL = new URL(this.url).resolve("geocoder_service.js"); | |
72 geocoderService = this.shell.connectToService(geocoderURL, Geocoder); | |
73 demoAddressToLocation(); | |
74 } | |
75 } | |
76 | |
77 return Demo; | |
78 }); | |
79 | |
OLD | NEW |