{"id":1489,"date":"2017-10-10T22:31:52","date_gmt":"2017-10-10T22:31:52","guid":{"rendered":"http:\/\/www.honobono-life.info\/wpeng\/?p=1489"},"modified":"2017-10-10T22:31:52","modified_gmt":"2017-10-10T22:31:52","slug":"google-maps-for-angularjs-directions-servicev2-4-1","status":"publish","type":"post","link":"http:\/\/www.honobono-life.info\/wpeng\/google-maps-for-angularjs-directions-servicev2-4-1\/","title":{"rendered":"Google Maps for AngularJS Directions Service(v2.4.1)"},"content":{"rendered":"<ul>\r\n<li>AngularJS : 1.6.5<\/li>\r\n<li>Google Maps for AngularJS : 2.4.1<\/li>\r\n<li>include file<\/li>\r\nangular.min.js, lodash.underscore.min.js, angular-simple-logger.min.js,angular-google-maps.min.js\r\n<\/ul>\r\n<!--more-->\r\n<script src=\"https:\/\/unpkg.com\/lodash@4.0.1\/lodash.js\" type=\"text\/javascript\"><\/script>\r\n<script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/angular-1.6.5.min.js'><\/script><script src=\"https:\/\/unpkg.com\/angular-simple-logger@0.1.7\/dist\/angular-simple-logger.min.js\"><\/script><script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/angular-google-maps-2.4.1.min.js'><\/script><script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/directions-service-2.4.1.js'><\/script>\r\n\r\n<div ng-app=\"googleMapApp\" role=\"tabpanel\">\r\n  <ul class=\"nav nav-tabs\">\r\n    <li class=\"active\"><a href=\"#demo1\" data-toggle=\"tab\">demo<\/a><\/li>\r\n    <li><a href=\"#html1\" data-toggle=\"tab\">markup<\/a><\/li>\r\n    <li><a href=\"#script1\" data-toggle=\"tab\">script<\/a><\/li>\r\n  <\/ul>\r\n  <div class=\"tab-content\">\r\n    <div class=\"tab-pane active\" id=\"demo1\">\r\n\r\n<div ng-controller=\"MyCtrl\">\r\n  <div class=\"row\">\r\n    <div class=\"col-sm-6\">\r\n      <ui-gmap-google-map \r\n        id=\"map-canvas\"\r\n        center=\"map.center\"\r\n        zoom=\"map.zoom\"\r\n        draggable=\"true\"\r\n        options=\"map.options\"\r\n        control=\"map.control\"\r\n      >\r\n      <\/ui-gmap-google-map>\r\n    <\/div>\r\n    <div class=\"col-sm-6\">\r\n      <form class=\"form-horizontal\" role=\"form\">\r\n        <div class=\"form-group\">\r\n          <label class=\"col-sm-2 control-label\">Start<\/label>\r\n          <div class=\"col-sm-8\">\r\n            <select class=\"form-control\" ng-model=\"routePoints.start\" \r\n                    ng-options=\"route.name for route in map.routes.start\">\r\n            <\/select>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"form-group\">\r\n          <label class=\"col-sm-2 control-label\">End<\/label>\r\n          <div class=\"col-sm-8\">\r\n            <select class=\"form-control\" ng-model=\"routePoints.end\" \r\n                    ng-options=\"route.name for route in map.routes.end\">\r\n            <\/select>\r\n          <\/div>\r\n        <\/div>\r\n        <button ng-click=\"calcRoute(routePoints)\" type=\"submit\" class=\"btn btn-default\">Submit<\/button>\r\n      <\/form>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n    <\/div>\r\n    <div class=\"tab-pane\" id=\"html1\">\r\n<div ng-non-bindable><pre>\r\n&lt;div ng-controller=\"MyCtrl\"&gt;\r\n  &lt;div class=\"row\">\r\n    &lt;div class=\"col-sm-6\">\r\n      &lt;ui-gmap-google-map \r\n        id=\"map-canvas\"\r\n        center=\"map.center\"\r\n        zoom=\"map.zoom\"\r\n        draggable=\"true\"\r\n        options=\"map.options\"\r\n        control=\"map.control\"\r\n      >\r\n      &lt;\/ui-gmap-google-map>\r\n    &lt;\/div>\r\n    &lt;div class=\"col-sm-6\">\r\n      &lt;form class=\"form-horizontal\" role=\"form\">\r\n        &lt;div class=\"form-group\">\r\n          &lt;label class=\"col-sm-2 control-label\">Start&lt;\/label>\r\n          &lt;div class=\"col-sm-8\">\r\n            &lt;select class=\"form-control\" ng-model=\"routePoints.start\" \r\n                    ng-options=\"route.name for route in map.routes.start\">\r\n            &lt;\/select>\r\n          &lt;\/div>\r\n        &lt;\/div>\r\n        &lt;div class=\"form-group\">\r\n          &lt;label class=\"col-sm-2 control-label\">End&lt;\/label>\r\n          &lt;div class=\"col-sm-8\">\r\n            &lt;select class=\"form-control\" ng-model=\"routePoints.end\" \r\n                    ng-options=\"route.name for route in map.routes.end\">\r\n            &lt;\/select>\r\n          &lt;\/div>\r\n        &lt;\/div>\r\n        &lt;button ng-click=\"calcRoute(routePoints)\" type=\"submit\" class=\"btn btn-default\">Submit&lt;\/button>\r\n      &lt;\/form>\r\n    &lt;\/div>\r\n  &lt;\/div>\r\n&lt;\/div>\r\n<\/pre><\/div>\r\n    <\/div>\r\n\r\n    <div class=\"tab-pane\" id=\"script1\">\r\n\r\n<pre>\r\nvar mapApp = angular.module('googleMapApp', ['uiGmapgoogle-maps']);\r\n\r\nmapApp.config(\r\n    ['uiGmapGoogleMapApiProvider', function(GoogleMapApiProviders) {\r\n        GoogleMapApiProviders.configure({\r\n          key: 'your Google Map api key',\r\n          v: '3', \/\/defaults to latest 3.X anyhow\r\n          libraries: 'weather,geometry,visualization'\r\n        });\r\n    }]\r\n);\r\n\r\nmapApp.controller(\"MyCtrl\",['$scope', 'uiGmapGoogleMapApi', function ($scope,uiGmapGoogleMapApi) {\r\n  angular.extend($scope, {\r\n    map: {\r\n      center: {\r\n        latitude: 35.6813,\r\n        longitude: 139.7660\r\n      },\r\n      options: {\r\n        maxZoom: 20,\r\n        minZoom: 3\r\n      },\r\n      zoom: 16,\r\n      control: {},\r\n      routes: {\r\n        start: [\r\n          {name:'Tokyo Station', latlng:'35.6813,139.7660'},\r\n          {name:'Ootemathi Station', latlng:'35.6842,139.7629'}\r\n        ],\r\n        end: [\r\n          {name:'Ootemon', latlng:'35.6856,139.7612'},\r\n          {name:'Nijyubashi', latlng:'35.6794,139.7577'}\r\n        ]\r\n      }\r\n    },\r\n    routePoints: {\r\n      start: {},\r\n      end: {}\r\n    }\r\n  });\r\n  $scope.routePoints.start = $scope.map.routes.start[0];\r\n  $scope.routePoints.end = $scope.map.routes.end[0];\r\n\r\n  uiGmapGoogleMapApi.then(function(maps) {\r\n    var directionsDisplay = new maps.DirectionsRenderer();\r\n    $scope.calcRoute = function (routePoints) {\r\n      directionsDisplay.setMap($scope.map.control.getGMap());\r\n      var directionsService = new maps.DirectionsService();\r\n      var start = routePoints.start.latlng;\r\n      var end = routePoints.end.latlng;\r\n      var request = {\r\n        origin: start,\r\n        destination: end,\r\n        travelMode: maps.TravelMode.WALKING\r\n      };\r\n      directionsService.route(request, function(response, status) {\r\n        if (status == maps.DirectionsStatus.OK) {\r\n          directionsDisplay.setDirections(response);\r\n        }\r\n      });\r\n      return;\r\n    };\r\n  });\r\n}]);\r\n<\/pre>\r\n    <\/div><!-- \/.tab-pane -->\r\n\r\n  <\/div><!-- \/.tab-content -->\r\n<\/div><!-- \/.tabpanel -->","protected":false},"excerpt":{"rendered":"<p>AngularJS : 1.6.5 Google Maps for AngularJS : 2.4.1 include file angular.min.js, lodash.underscore.min.js, angular-simple-logger.min.js,angular-google-maps.min.js<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/1489"}],"collection":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/comments?post=1489"}],"version-history":[{"count":2,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/1489\/revisions"}],"predecessor-version":[{"id":1491,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/1489\/revisions\/1491"}],"wp:attachment":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/media?parent=1489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/categories?post=1489"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/tags?post=1489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}