Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: polymer_1.0.4/bower_components/google-map/google-map-directions.html

Issue 1205703007: Add polymer 1.0 to npm_modules (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Renamed folder to 1.0.4 Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: polymer_1.0.4/bower_components/google-map/google-map-directions.html
diff --git a/polymer_1.0.4/bower_components/google-map/google-map-directions.html b/polymer_1.0.4/bower_components/google-map/google-map-directions.html
new file mode 100644
index 0000000000000000000000000000000000000000..88fb62621ec6c2bb6a8f0bd5d65ecd9e388c8f67
--- /dev/null
+++ b/polymer_1.0.4/bower_components/google-map/google-map-directions.html
@@ -0,0 +1,188 @@
+<!-- Copyright (c) 2015 Google Inc. All rights reserved. -->
+
+<link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../google-apis/google-maps-api.html">
+
+<!--
+Provides the Google Maps API Directions Service to provide directions
+between a `startAddress` and `endAddress`.
+
+See https://developers.google.com/maps/documentation/javascript/directions for more
+information on the API.
+
+#### Example:
+
+ <template is="dom-bind">
+ <google-map-directions map="{{map}}"
+ start-address="San Francisco"
+ end-address="Mountain View"
+ travel-mode="TRANSIT"></google-map-directions>
+ <google-map map="{{map}}" latitude="37.779"
+ longitude="-122.3892"></google-map>
+ </template>
+
+-->
+
+<dom-module id="google-map-directions">
+ <style>
+ :host {
+ display: none;
+ }
+ </style>
+ <template>
+ <google-maps-api
+ api-key="[[apiKey]]"
+ libraries="[[libraries]]"
+ language="[[language]]"
+ on-api-load="_mapApiLoaded"></google-maps-api>
+ </template>
+</dom-module>
+
+<script>
+ Polymer({
+
+ is: 'google-map-directions',
+
+/**
+Fired whenever the directions service returns a result.
+
+@event google-map-response
+@param {Object} detail
+@param {object} detail.response The directions service response.
+*/
+ properties: {
+ /**
+ * A Maps API key. To obtain an API key, see developers.google.com/maps/documentation/javascript/tutorial#api_key.
+ */
+ apiKey: String,
+
+ /**
+ * The Google map object.
+ *
+ * @type google.maps.Map
+ */
+ map: {
+ type: Object,
+ observer: '_mapChanged'
+ },
+ /**
+ * Start address or latlng to get directions from.
+ *
+ * @type string|google.maps.LatLng
+ */
+ startAddress: {
+ type: String,
+ value: null
+ },
+
+ /**
+ * End address or latlng for directions to end.
+ *
+ * @type string|google.maps.LatLng
+ */
+ endAddress: {
+ type: String,
+ value: null
+ },
+
+ /**
+ * Travel mode to use. One of 'DRIVING', 'WALKING', 'BICYCLING', 'TRANSIT'.
+ */
+ travelMode: {
+ type: String,
+ value: 'DRIVING'
+ },
+
+ /**
+ * A comma separated list (e.g. "places,geometry") of libraries to load
+ * with this map. Defaults to "places". For more information see
+ * https://developers.google.com/maps/documentation/javascript/libraries.
+ *
+ * Note, this needs to be set to the same value as the one used on <google-map>.
+ * If you're overriding that element's `libraries` property, this one also
+ * needs to be set to the Maps API loads the library code.
+ */
+ libraries: {
+ type: String,
+ value: 'places'
+ },
+
+ /**
+ * The localized language to load the Maps API with. For more information
+ * see https://developers.google.com/maps/documentation/javascript/basics#Language
+ *
+ * Note: the Maps API defaults to the preffered language setting of the browser.
+ * Use this parameter to override that behavior.
+ */
+ language: {
+ type: String,
+ value: null
+ },
+
+ /**
+ * The response from the directions service.
+ *
+ */
+ response: {
+ type: Object,
+ observer: '_responseChanged',
+ notify: true
+ }
+ },
+
+ observers: [
+ '_route(startAddress, endAddress, travelMode)'
+ ],
+
+ _mapApiLoaded: function() {
+ this._route();
+ },
+
+ _responseChanged: function() {
+ if (this.directionsRenderer && this.response) {
+ this.directionsRenderer.setDirections(this.response);
+ }
+ },
+
+ _mapChanged: function() {
+ if (this.map && this.map instanceof google.maps.Map) {
+ if (!this.directionsRenderer) {
+ this.directionsRenderer = new google.maps.DirectionsRenderer();
+ }
+ this.directionsRenderer.setMap(this.map);
+ this._responseChanged();
+ } else {
+ // If there is no more map, remove the directionsRenderer from the map and delete it.
+ this.directionsRenderer.setMap(null);
+ this.directionsRenderer = null;
+ }
+ },
+
+ _route: function() {
+ // Abort attempts to _route if the API is not available yet or the
+ // required attributes are blank.
+ if (typeof google == 'undefined' || typeof google.maps == 'undefined' ||
+ !this.startAddress || !this.endAddress) {
+ return;
+ }
+
+ // Construct a directionsService if necessary.
+ // Wait until here where the maps api has loaded and directions are actually needed.
+ if (!this.directionsService) {
+ this.directionsService = new google.maps.DirectionsService();
+ }
+
+ var request = {
+ origin: this.startAddress,
+ destination: this.endAddress,
+ travelMode: this.travelMode
+ };
+ this.directionsService.route(request, function(response, status) {
+ if (status == google.maps.DirectionsStatus.OK) {
+ this.response = response;
+ this.fire('google-map-response', {response: response});
+ }
+ }.bind(this));
+ }
+ });
+</script>

Powered by Google App Engine
This is Rietveld 408576698