国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

angular.js - 用angularjs的service封裝百度地圖api出錯,請問原因?

瀏覽:207日期:2022-10-09 14:10:54

問題描述

我想用如下方式引入百度地圖服務,請問為什么出錯?

angular.module(’bmap’,[]) .factory(’bmapService’, [’$document’, ’$q’, ’$rootScope’,function($document, $q, $rootScope) { var map = $q.defer(); function onScriptLoad() {// Load client in the browser$rootScope.$apply(function() { map.resolve(window.bmap); }); } // Create a script tag with d3 as the source // and call our onScriptLoad callback when it // has been loaded var scriptTag = $document[0].createElement(’script’); scriptTag.type = ’text/javascript’; scriptTag.async = true; scriptTag.src = ’http://api.map.baidu.com/api?type=quick&ak=XXXX&v=1.0’; scriptTag.onreadystatechange = function () {if (this.readyState == ’complete’) onScriptLoad(); }; scriptTag.onload = onScriptLoad; var s = $document[0].getElementsByTagName(’body’)[0]; s.appendChild(scriptTag); return {bmap: function() { return map.promise; } };}]);

使用地圖服務(app依賴項已包含bmap,以下代碼為使用服務的controller)

app.controller(’backup’,function($rootScope,bmapService){ $rootScope.gotoBackup(); map = new bmapService.bmap().BMap.Map(’map’);})

百度給出的使用示例:

<!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> <meta name='viewport' content='initial-scale=1.0, user-scalable=no' /> <style type='text/css'> body, html,#l-map {width: 100%;height: 100%;overflow: hidden;margin:0;} </style> <script type='text/javascript' src='http://api.map.baidu.com/api?type=quick&ak=您的密鑰&v=1.0'></script> <title>顯示地圖</title> </head> <body> <p id='l-map'></p> </body></html> <script type='text/javascript'> var map = new BMap.Map('l-map'); map.centerAndZoom(new BMap.Point(116.404, 39.915), 14); </script>

問題解答

回答1:

你的bmapService.bmap()返回的是一個promise對象,你要對promise對象使用then(function(){}),在回調方法中才能使用加載完成的地圖API

標簽: 百度 地圖
主站蜘蛛池模板: 泊头市| 昆明市| 阜城县| 临泉县| 苍南县| 定陶县| 邹城市| 龙口市| 塘沽区| 镇康县| 新郑市| 晋江市| 库伦旗| 锡林浩特市| 衡山县| 溆浦县| 竹北市| 南平市| 花莲县| 昭苏县| 航空| 天峨县| 广汉市| 高邮市| 安多县| 综艺| 西充县| 金堂县| 洛南县| 遵义县| 巴青县| 工布江达县| 黎城县| 保靖县| 东乌珠穆沁旗| 梓潼县| 广德县| 镶黄旗| 措美县| 监利县| 板桥市|