Jeongchul Kim
Bing Maps API 본문
Bing Maps API Bing Map API를 받기 위해 다음의 사이트로 이동하자 메뉴에서 Get Started를 선택한다. 가운데 부분에 Basic Key 버튼을 누른다. 하단 부에 Get the Basic Key를 누른다. 다음의 bingmapsportal 웹 사이트로 이동하여 개발자 등록을 한다 https://www.bingmapsportal.com/ Sign in 버튼을 누른다. Microsoft 사의 계정으로 로그인 한다. 계정이 없을 경우 가입을 합시다! 로그인을 하고 Yes버튼을 누릅니다. 간략한 개인정보(이름, 연락처, 이메일)를 입력합시다. 이후에 Create버튼을 누릅니다. 생성이 되고 난 이후의 화면입니다. 자 이제 우리는 탭 메뉴에서 My account 메뉴의 My Key를 들어가 키를 발급 받을 것입니다. 키를 생성하기 위해 Application 이름과 url과 앱 정보를 기입합니다. Create버튼을 누르고 나면 하단 부에 Key가 발급됩니다. 스마트 미러에 적용해보았습니다. (function() { 'use strict'; function TrafficService($http, $q) { var service = {}; var duration = null; var BING_MAPS = "http://dev.virtualearth.net/REST/V1/Routes/" service.getTravelDuration = function(){ var deferred = $q.defer(); // Request traffic info for the configured mode of transport $http.get(getEndpoint(config.traffic.mode)) .then(function(response){ // Walking and Transit are "not effected" by traffic so we don't use their traffic duration if(config.traffic.mode == "Transit" || config.traffic.mode == "Walking"){ deferred.resolve(moment.duration(response.data.resourceSets[0].resources[0].travelDuration, 'seconds')); } else { deferred.resolve(moment.duration(response.data.resourceSets[0].resources[0].travelDurationTraffic, 'seconds')); } }, function(error) { // Most of the time this is because an address can't be found if (error.status === 404) { console.error('No transit information available between start and end'); deferred.reject('Unavailable'); } else { console.error(error.statusText); deferred.reject('Unknown error'); } duration = deferred.promise; }); return deferred.promise; }; // Depending on the mode of transport different paramaters are required. function getEndpoint(mode){ var endpoint = BING_MAPS + mode + "?wp.0=" + config.traffic.origin + "&wp.1="+config.traffic.destination; if(mode == "Driving"){ endpoint += "&avoid=minimizeTolls"; } else if(mode == "Transit"){ endpoint += "&timeType=Departure&dateTime=" + moment().format('h:mm:ssa').toUpperCase(); } else if(mode == "Walking"){ endpoint += "&optmz=distance"; } endpoint += "&key=" + config.traffic.key; return endpoint; } return service; } angular.module('SmartMirror') .factory('TrafficService', TrafficService); }()); var refreshTrafficData = function() { TrafficService.getTravelDuration().then(function(durationTraffic) { console.log("Traffic", durationTraffic); $scope.traffic = { name:config.traffic.name, origin: config.traffic.origin, destination : config.traffic.destination, hours : durationTraffic.hours(), minutes : durationTraffic.minutes() }; }, function(error){ $scope.traffic = {error: error}; }); }; <span class="time-to"> 이동 정보 {{traffic.name}}</span></br> <span>{{traffic.origin}}에서 {{traffic.destination}}</span></br> <span ng-show="traffic.hours > 0">{{traffic.hours}} hours and</span> <span>{{traffic.minutes}} minutes</span>https://www.microsoft.com/maps/Default.aspx
Key를 이용해볼까요
Traffic-service.js
Control.js
index.html
'Android' 카테고리의 다른 글
안드로이드 Thread Handler AsyncTask (0) | 2016.03.23 |
---|---|
구글 플레이 마켓 안드로이드 개발자 등록 (0) | 2016.03.22 |
Google Map API 이용 라이딩(거리,속도)정보 SharedPreferences 저장 웹서버의 MySQL DB 전송 - 5. 최종 테스트 (4) | 2016.03.17 |
Google Map API 이용 라이딩(거리,속도)정보 SharedPreferences 저장 웹서버의 MySQL DB 전송 - 4. php, mysql (0) | 2016.03.17 |
Google Map API 이용 라이딩(거리,속도)정보 SharedPreferences 저장 웹서버의 MySQL DB 전송 - 3. DB.class (0) | 2016.03.17 |