{"id":969,"date":"2015-02-24T05:56:21","date_gmt":"2015-02-24T05:56:21","guid":{"rendered":"http:\/\/www.honobono-life.info\/wpeng\/?p=969"},"modified":"2017-10-06T23:42:50","modified_gmt":"2017-10-06T23:42:50","slug":"google-maps-with-dart-directly-accessing-street-view-data","status":"publish","type":"post","link":"http:\/\/www.honobono-life.info\/wpeng\/google-maps-with-dart-directly-accessing-street-view-data\/","title":{"rendered":"Google Maps with Dart Directly accessing Street View data"},"content":{"rendered":"<ul>\r\n<li>Dart : 1.8.5<\/li>\r\n<li>Bootstrap : 3.2.0<\/li>\r\n<li>include file<\/li>\r\ndart.js,interop.js\r\n<\/ul>\r\n<!--more-->\r\n<script type=\"text\/javascript\" src=\"http:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyArJcThvMs4MtAlxahZB6VR2lvsqzBzz3M&#038;sensor=false\"><\/script>\r\n<div 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<style type=\"text\/css\">\r\n  #map-canvas { height: 400px }\r\n  #pano { height: 400px }\r\n<\/style>\r\n<div class=\"row\">\r\n  <div class=\"col-sm-6\">\r\n    <div id=\"map-canvas\"><\/div>\r\n  <\/div>\r\n  <div class=\"col-sm-6\">\r\n    <div id=\"pano\"><\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n    <\/div>\r\n    <div class=\"tab-pane\" id=\"html1\">\r\n<pre>\r\n&lt;script type=\"text\/javascript\" src=\"http:\/\/maps.googleapis.com\/maps\/api\/js?key=\u30fb\u30fb\u30fb\u30fb&sensor=false\">&lt;\/script>\r\n&lt;link rel=\"stylesheet\" href=\"css\/bootstrap.min.css\">\r\n&lt;style type=\"text\/css\">\r\n  #map-canvas { height: 400px }\r\n  #pano { height: 400px }\r\n\r\n&lt;\/style>\r\n&lt;div class=\"row\">\r\n  &lt;div class=\"col-sm-6\">\r\n    &lt;div id=\"map-canvas\">&lt;\/div>\r\n  &lt;\/div>\r\n  &lt;div class=\"col-sm-6\">\r\n    &lt;div id=\"pano\">&lt;\/div>\r\n  &lt;\/div>\r\n&lt;\/div>\r\n&lt;script type=\"application\/dart\" src='http:\/\/www.example.com\/wp\/wp-content\/themes\/ang\/dart\/addr-pos\/index.dart'>&lt;\/script>\r\n&lt;script src='http:\/\/www.example.com\/wp\/wp-content\/themes\/ang\/dart\/packages\/browser\/dart.js'>&lt;\/script>\r\n&lt;script src='http:\/\/www.example.com\/wp\/wp-content\/themes\/ang\/dart\/packages\/browser\/interop.js'>&lt;\/script>\r\n<\/pre>\r\n    <\/div>\r\n\r\n    <div class=\"tab-pane\" id=\"script1\">\r\n<pre>\r\nlibrary google_maps;\r\n\r\nimport 'dart:html' show querySelector,window;\r\nimport 'dart:js' show context, JsObject;\r\n\r\nfinal google_maps = context['google']['maps'];\r\nvar map;\r\nvar panorama;\r\nvar sv = new JsObject(google_maps['StreetViewService'], []);\r\n\r\nprocessSVData(data, status) {\r\n  if (status == google_maps[\"StreetViewStatus\"][\"OK\"]) {\r\n    var markerOptions = new JsObject.jsify({\r\n      \"position\": data[\"location\"][\"latLng\"],\r\n      \"map\": map,\r\n      \"title\": data[\"location\"][\"description\"]\r\n    });\r\n    var marker = new JsObject(google_maps['Marker'], [markerOptions]);\r\n\r\n    panorama.callMethod('setPano',[data[\"location\"][\"pano\"]]);\r\n    var povOptions = new JsObject.jsify({\r\n      \"heading\": 270,\r\n      \"pitch\": 0\r\n    });\r\n    panorama.callMethod('setPov',[povOptions]);\r\n    panorama.callMethod('setVisible',[true]);\r\n    \r\n    google_maps['event'].callMethod('addListener', [marker, 'click', (event) {\r\n      var markerPanoID = data[\"location\"][\"pano\"];\r\n      panorama.callMethod('setPano',[markerPanoID]);\r\n      panorama.callMethod('setPov',[povOptions]);\r\n      panorama.callMethod('setVisible',[true]);\r\n    }]);\r\n  } else {\r\n    window.alert('Street View data not found for this location.');\r\n  }\r\n}\r\n\r\nvoid main() {\r\n  final google_maps = context['google']['maps'];\r\n  \r\n  var center = new JsObject(google_maps['LatLng'], [35.6814, 139.7661]);\r\n  var mapTypeId = google_maps['MapTypeId']['ROADMAP'];\r\n  var mapOptions = new JsObject.jsify({\r\n      \"center\": center,\r\n      \"zoom\": 15,\r\n      \"mapTypeId\": mapTypeId\r\n  });\r\n  map = new JsObject(google_maps['Map'], [querySelector('#map-canvas'), mapOptions]);\r\n  \r\n  var panoramaOptions = new JsObject.jsify({\r\n      \"position\": center,\r\n      \"pov\": {\r\n         \"heading\": 30,\r\n         \"pitch\": 5,\r\n          \"zoom\": 2\r\n       }\r\n  });\r\n  panorama = new JsObject(google_maps['StreetViewPanorama'], [querySelector('#pano'), panoramaOptions]);\r\n  google_maps['event'].callMethod('addListener', [map, 'click', (event) {\r\n    sv.callMethod('getPanoramaByLocation',[event[\"latLng\"],50,processSVData]);\r\n  }]);\r\n}\r\n<\/pre>\r\n    <\/div><!-- \/.tab-pane -->\r\n\r\n  <\/div><!-- \/.tab-content -->\r\n<\/div><!-- \/.tabpanel -->\r\n<script type=\"application\/dart\" src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/dart\/stview2\/index.dart'><\/script>\r\n<script src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/dart\/packages\/browser\/dart.js'><\/script>\r\n<script src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/dart\/packages\/browser\/interop.js'><\/script>\r\n","protected":false},"excerpt":{"rendered":"<p>Dart : 1.8.5 Bootstrap : 3.2.0 include file dart.js,interop.js<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[101],"tags":[100,30,131],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/969"}],"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=969"}],"version-history":[{"count":3,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/969\/revisions"}],"predecessor-version":[{"id":1325,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/969\/revisions\/1325"}],"wp:attachment":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/media?parent=969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/categories?post=969"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/tags?post=969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}