{"id":841,"date":"2015-01-11T15:00:17","date_gmt":"2015-01-11T15:00:17","guid":{"rendered":"http:\/\/www.honobono-life.info\/wpeng\/?p=841"},"modified":"2017-10-07T01:22:03","modified_gmt":"2017-10-07T01:22:03","slug":"polygon-geojsonv2-0-7","status":"publish","type":"post","link":"http:\/\/www.honobono-life.info\/wpeng\/polygon-geojsonv2-0-7\/","title":{"rendered":"Google Maps for AngularJS Polygon GeoJSON(v2.0.7)"},"content":{"rendered":"<ul>\r\n<li>AngularJS : 1.2.23<\/li>\r\n<li>Bootstrap : 3.2.0<\/li>\r\n<li>Google Maps for AngularJS : 2.0.7<\/li>\r\n<li>include file<\/li>\r\nangular.min.js, lodash.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><script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/lodash.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-2.0.7.js'><\/script>\r\n<script type='text\/javascript' src='http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/js\/geojson-v2.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  <\/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      <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        events=\"map.events\"\r\n      >\r\n      <\/ui-gmap-google-map>\r\n      <div id=\"polygon-panel\" class=\"well well-sm\">{{machi}}<\/div>\r\n      <button id=\"ctrlBtn\" class=\"btn btn-primary btn-xs\" \r\n            ng-class=\"{'btn-success': border}\" \r\n            ng-click=\"toPolygon()\">toTownBorder\r\n      <\/button>\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 type='text\/javascript' src='http:\/\/www.example.com\/wp\/wp-content\/themes\/ang\/js\/lodash.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 class = \"container\" ng-controller=\"MyCtrl\">\r\n  &lt;div class=\"row\">\r\n    &lt;div class=\"col-sm-12\">\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        events=\"map.events\"\r\n      >\r\n      &lt;\/ui-gmap-google-map>\r\n      &lt;div id=\"polygon-panel\" class=\"well well-sm\">{_{machi}}&lt;\/div>\r\n      &lt;button id=\"ctrlBtn\" class=\"btn btn-primary btn-xs\" \r\n            ng-class=\"{'btn-success': border}\" \r\n            ng-click=\"toPolygon()\">toTownBorder\r\n      &lt;\/button>\r\n    &lt;\/div>\r\n  &lt;\/div>\r\n&lt;\/div>\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'.ns(),'ui.bootstrap']);\r\nmapApp.config(['GoogleMapApiProvider'.ns(), function (GoogleMapApi) {\r\n  GoogleMapApi.configure({\r\n    key: 'your Google Map api key',\r\n    v: '3.17',\r\n    libraries: ''\r\n  });\r\n}]);\r\n\r\nmapApp.controller(\"MyCtrl\",['$scope', 'GoogleMapApi'.ns(), function ($scope,GoogleMapApi) {\r\n\r\nvar polygonPanel = document.getElementById('polygon-panel');\r\nvar featureStyle = {\r\n  strokeColor: '#FF0000',\r\n  strokeOpacity: 0.9,\r\n  strokeWeight: 0.3,\r\n  fillColor: '#FFFF00',\r\n  fillOpacity: 0.1,\r\n};\r\n\r\n  angular.extend($scope, {\r\n    map: {\r\n      center: {\r\n        latitude: 35.7012,\r\n        longitude: 139.7140\r\n      },\r\n      options: {\r\n        maxZoom: 20,\r\n        minZoom: 3\r\n      },\r\n      zoom: 14,\r\n      control: {},\r\n      events: {\r\n        projection_changed: function (map, eventName, originalEventArgs) {\r\n          var ctrlBtn = document.getElementById('ctrlBtn');\r\n          map.controls[google.maps.ControlPosition.TOP_RIGHT].push(ctrlBtn);\r\n          map.data.loadGeoJson('..\/wp-content\/themes\/ang\/js\/shinjuku2.geojson');\r\n          map.data.setStyle({visible: false});\r\n        }\r\n      }\r\n    },\r\n  });\r\n  $scope.border = false;\r\n  $scope.toPolygon = function () {\r\n    if (!$scope.border) {\r\n      $scope.map.control.getGMap().data.setStyle(featureStyle);\r\n      $scope.map.control.getGMap().controls[google.maps.ControlPosition.BOTTOM_CENTER].push(polygonPanel);\r\n      $scope.map.control.getGMap().data.addListener('mouseover', function(event) {\r\n        $scope.machi = event.feature.getProperty('MOJI');\r\n        $scope.$apply();\r\n      });\r\n    } else {\r\n      $scope.map.control.getGMap().data.setStyle({visible: false});\r\n      $scope.map.control.getGMap().controls[google.maps.ControlPosition.BOTTOM_CENTER].removeAt(0);\r\n    }\r\n    $scope.border = !$scope.border;\r\n    return;\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.2.23 Bootstrap : 3.2.0 Google Maps for AngularJS : 2.0.7 include file angular.min.js, lodash.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":[35,97,96],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/841"}],"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=841"}],"version-history":[{"count":7,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/841\/revisions"}],"predecessor-version":[{"id":1356,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/841\/revisions\/1356"}],"wp:attachment":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/media?parent=841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/categories?post=841"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/tags?post=841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}