{"id":105,"date":"2014-05-19T11:59:18","date_gmt":"2014-05-19T11:59:18","guid":{"rendered":"http:\/\/www.honobono-life.info\/wpeng\/?p=105"},"modified":"2017-10-08T00:58:44","modified_gmt":"2017-10-08T00:58:44","slug":"directly-accessing-street-view-data","status":"publish","type":"post","link":"http:\/\/www.honobono-life.info\/wpeng\/directly-accessing-street-view-data\/","title":{"rendered":"Google Maps for AngularJS Directly accessing Street View data"},"content":{"rendered":"<ul>\n<li>AngularJS : 1.2.23<\/li>\n<li>Bootstrap : 3.2.0<\/li>\n<li>Google Maps for AngularJS : 1.0.16<\/li>\n<li>include file<\/li>\n<p>angular.min.js, underscore-min.js, angular-google-maps.min.js, ui-bootstrap-tpls-0.11.0.min.js\n<\/ul>\n<p><!--more--><br \/>\n<script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/angular.min.js'><\/script><script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/ui-bootstrap-tpls-0.11.0.min.js'><\/script><script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?v=3.exp&#038;key=AIzaSyBy-VhEHgZFREbgrTWoXTTW04hEW-PyHdA&#038;sensor=false\"><\/script><br \/>\n<script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/underscore-min.js'><\/script><br \/>\n<script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/angular-google-maps.min.js'><\/script><br \/>\n<script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/stview5L.js'><\/script><\/p>\n<div ng-app=\"googleMapApp\" role=\"tabpanel\">\n<ul class=\"nav nav-tabs\">\n<li class=\"active\"><a href=\"#demo1\" data-toggle=\"tab\">demo<\/a><\/li>\n<li><a href=\"#html1\" data-toggle=\"tab\">markup<\/a><\/li>\n<li><a href=\"#script1\" data-toggle=\"tab\">script<\/a><\/li>\n<\/ul>\n<div class=\"tab-content\">\n<div class=\"tab-pane active\" id=\"demo1\">\n<div ng-controller=\"MyCtrl\">\n<div class=\"row\">\n<div class=\"col-sm-6\">\n    <google-map \n      id=\"map-canvas\"\n      center=\"map.center\"\n      zoom=\"map.zoom\"\n      draggable=\"true\"\n      options=\"map.options\"\n      control=\"map.control\"\n      events=\"map.events\"\n    ><br \/>\n      <marker coords=\"map.marker\"><br \/>\n        <marker-label content=\"map.marker.title\" anchor=\"0 30\" ><\/marker-label><br \/>\n      <\/marker><br \/>\n    <\/google-map>\n  <\/div>\n<div class=\"col-sm-6\">\n<div id=\"pano\" style=\" height: 400px;\"><\/div>\n<\/p><\/div>\n<\/div>\n<\/div><\/div>\n<div class=\"tab-pane\" id=\"html1\">\n<pre>\r\n&lt;script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?v=3.exp&key=xxxxxxxxxxxxxxxxxx&sensor=false\"&gt;&lt;\/script&gt;\r\n&lt;script type='text\/javascript' src='http:\/\/www.example.com\/wp\/wp-content\/themes\/ang\/js\/underscore-min.js'>&lt;\/script>\r\n&lt;script type='text\/javascript' src='http:\/\/www.example.com\/wp\/wp-content\/themes\/ang\/js\/angular-google-maps.min.js'>&lt;\/script>\r\n&lt;script type='text\/javascript' src='http:\/\/www.example.com\/wp\/wp-content\/themes\/ang\/js\/app.js'&gt;&lt;\/script&gt;\r\n&lt;div ng-controller=\"MyCtrl\"&gt;\r\n&lt;div class=\"row\"&gt;\r\n  &lt;div class=\"col-sm-6\"&gt;\r\n    &lt;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      events=\"map.events\"\r\n    &gt;\r\n      &lt;marker coords=\"map.marker\"&gt;\r\n      &lt;\/marker&gt;\r\n    &lt;\/google-map&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div class=\"col-sm-6\"&gt;\r\n    &lt;div id=\"pano\" style=\" height: 400px;\"&gt;&lt;\/div&gt;\r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\n<\/p><\/div>\n<div class=\"tab-pane\" id=\"script1\">\n<pre>\r\nvar mapApp = angular.module('googleMapApp', ['google-maps','ui.bootstrap']);\r\n\r\nvar panorama;\r\n\r\nmapApp.controller(\"MyCtrl\", function ($scope) {\r\n  angular.extend($scope, {\r\n  map: {\r\n      center: {\r\n        latitude: 35.681382,\r\n        longitude: 139.766084\r\n      },\r\n      options: {\r\n        maxZoom: 20,\r\n        minZoom: 3\r\n      },\r\n      zoom: 15,\r\n      control: {},\r\n      events: { \r\n        click: function (map, eventName, originalEventArgs) {\r\n          var sv = new google.maps.StreetViewService();\r\n          var event = originalEventArgs[0];\r\n          sv.getPanoramaByLocation(event.latLng, 50, processSVData);\r\n        }\r\n      },\r\n      marker: {},\r\n    }\r\n  });\r\n\r\n  function processSVData(data, status) {\r\n    if (status == google.maps.StreetViewStatus.OK) {\r\n      $scope.map.marker.latitude = data.location.latLng.lat();\r\n      $scope.map.marker.longitude = data.location.latLng.lng();\r\n      $scope.map.marker.title = data.location.description;\r\n      panorama = new google.maps.StreetViewPanorama(document.getElementById('pano'));\r\n      panorama.setPano(data.location.pano);\r\n      panorama.setPov({\r\n        heading: 270,\r\n        pitch: 0\r\n      });\r\n      panorama.setVisible(true);\r\n      $scope.$apply();\r\n    } else {\r\n      alert('Street View data not found for this location.');\r\n    }\r\n  }\r\n});\r\n<\/pre>\n<\/p><\/div>\n<p><!-- \/.tab-pane --><\/p><\/div>\n<p><!-- \/.tab-content -->\n<\/div>\n<p><!-- \/.tabpanel --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>AngularJS : 1.2.23 Bootstrap : 3.2.0 Google Maps for AngularJS : 1.0.16 include file angular.min.js, underscore-min.js, angular-google-maps.min.js, ui-bootstrap-tpls-0.11.0.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":[30,31,32,29],"class_list":["post-105","post","type-post","status-publish","format-standard","hentry","category-angular-google-maps","tag-getpanoramabylocation","tag-setpano","tag-streetviewpanorama","tag-streetviewservice"],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/105","targetHints":{"allow":["GET"]}}],"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=105"}],"version-history":[{"count":17,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/105\/revisions"}],"predecessor-version":[{"id":1445,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/105\/revisions\/1445"}],"wp:attachment":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/media?parent=105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/categories?post=105"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/tags?post=105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}