{"id":90,"date":"2014-05-16T04:36:23","date_gmt":"2014-05-16T04:36:23","guid":{"rendered":"http:\/\/www.honobono-life.info\/wpeng\/?p=90"},"modified":"2017-10-08T01:09:21","modified_gmt":"2017-10-08T01:09:21","slug":"reverse-geocoding-address-lookup","status":"publish","type":"post","link":"http:\/\/www.honobono-life.info\/wpeng\/reverse-geocoding-address-lookup\/","title":{"rendered":"Google Maps for AngularJS Reverse Geocoding (Address Lookup)"},"content":{"rendered":"<ul>\r\n<li>AngularJS : 1.2.23<\/li>\r\n<li>Bootstrap : 3.x<\/li>\r\n<li>Google Maps for AngularJS : 1.0.16<\/li>\r\n<li>include file<\/li>\r\nangular.min.js, underscore-min.js, angular-google-maps.min.js, ui-bootstrap-tpls-0.11.0.min.js\r\n<\/ul>\r\n<!--more-->\r\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>\r\n<script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?v=3.exp&#038;key=AIzaSyBy-VhEHgZFREbgrTWoXTTW04hEW-PyHdA&#038;sensor=false\"><\/script>\r\n<script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/underscore-min.js'><\/script>\r\n<script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/angular-google-maps.min.js'><\/script>\r\n<script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/pos-addr.js'><\/script>\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    <li><a href=\"#template1\" data-toggle=\"tab\">template<\/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-12\">\r\n    <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    >\r\n      <marker coords=\"map.marker\" click=\"onMarkerClicked(map.marker)\">\r\n        <window show=\"map.marker.showWindow\"\r\n                closeClick=\"closeClick(map.marker)\"\r\n                templateUrl=\"map.templateUrl\"\r\n                templateParameter=\"map.templateParameter\"\r\n        >\r\n        <\/window>\r\n      <\/marker>\r\n    <\/google-map>\r\n  <\/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 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-12\"&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\" click=\"onMarkerClicked(map.marker)\"&gt;\r\n        &lt;window show=\"map.marker.showWindow\"\r\n                closeClick=\"closeClick(map.marker)\"\r\n                templateUrl=\"map.templateUrl\"\r\n                templateParameter=\"map.templateParameter\"\r\n        &gt;\r\n        &lt;\/window&gt;\r\n      &lt;\/marker&gt;\r\n    &lt;\/google-map&gt;\r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\r\n    <\/div>\r\n\r\n    <div class=\"tab-pane\" id=\"script1\">\r\n<pre>\r\nvar mapApp = angular.module('googleMapApp', ['google-maps','ui.bootstrap']);\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          addLatLng(map, eventName, originalEventArgs);\r\n        }\r\n      },\r\n      marker: {\r\n        showWindow: false \r\n      },\r\n      templateUrl: 'assets\/templates\/addr.html',\r\n      templateParameter: {\r\n        message: ''\r\n      }\r\n    }\r\n  });\r\n  function addLatLng(map, eventName, originalEventArgs) {\r\n    var infowindow = new google.maps.InfoWindow();\r\n    var e = originalEventArgs[0];\r\n    var geocoder;\r\n    geocoder = new google.maps.Geocoder();\r\n    var lat = parseFloat(e.latLng.lat());\r\n    var lng = parseFloat(e.latLng.lng());\r\n    var latlng = new google.maps.LatLng(lat, lng);\r\n\r\n    geocoder.geocode({'latLng': latlng}, function(results, status) {\r\n      if (status == google.maps.GeocoderStatus.OK) {\r\n        if (results[0]) {\r\n          $scope.map.marker.latitude = lat;\r\n          $scope.map.marker.longitude = lng;\r\n          $scope.map.templateParameter.message = results[0].formatted_address;\r\n          $scope.$apply();\r\n        } else {\r\n          alert('No results found');\r\n        }\r\n      } else {\r\n        alert('Geocoder failed due to: ' + status);\r\n      }\r\n    });\r\n  }\r\n  $scope.closeClick = function (marker) {\r\n    marker.showWindow = false;\r\n  };\r\n  $scope.onMarkerClicked = function (marker) {\r\n    marker.showWindow = true;\r\n  };\r\n});\r\n<\/pre>\r\n    <\/div><!-- \/.tab-pane -->\r\n\r\n    <div class=\"tab-pane\" id=\"template1\">\r\n<pre>\r\n&lt;div&gt;\r\n  &lt;strong&gt;Address&lt;\/strong&gt;\r\n  &lt;div&gt;\r\n    &#123; &#123; parameter.message &#125;&#125;\r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\r\n    <\/div><!-- \/.tab-pane -->\r\n\r\n  <\/div><!-- \/.tab-content -->\r\n<\/div><!-- \/.tabpanel -->\r\n","protected":false},"excerpt":{"rendered":"<p>AngularJS : 1.2.23 Bootstrap : 3.x 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":[23,24,25,7],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/90"}],"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=90"}],"version-history":[{"count":10,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/90\/revisions"}],"predecessor-version":[{"id":1448,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/90\/revisions\/1448"}],"wp:attachment":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/media?parent=90"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/categories?post=90"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/tags?post=90"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}