鍍金池/ 問答/HTML5  HTML/ angular 彈框 引入高德地圖 關(guān)鍵字搜索不生效

angular 彈框 引入高德地圖 關(guān)鍵字搜索不生效

clipboard.png

App.service('Map', function($window, $document, $q) {
    var promise;
    this.load = function() {
        if (promise) {
            return promise;
        }
        promise = $q(function(resolve, reject) {
            $window.initMap = function() {
                resolve();
                return;
            };
            var script = document.createElement("script");
            script.type = "text/javascript";
            script.src="http://webapi.amap.com/maps?v=1.4.0&key=5ce80b5c333d681c6d63&callback=initMap";
            $document[0].body.appendChild(script);
        });
        return promise;
    };
});
//控制器代碼如下
 //地圖
            $scope.openMapModal = function (type) {
                var modalInstance = $modal.open({
                    templateUrl: '/myModalContent.html',
                    controller: ModalInstanceCtrl,
                    size: 'lg',
                    scope: $scope
                });
                $scope.gpsType=type;
            };
            var ModalInstanceCtrl = function ($scope, $modalInstance,$timeout) {
                $timeout(function(){
                    Map.load().then(function(){
                       var map = new AMap.Map("container", {
                            resizeEnable: true,
                                center: [116.40, 39.91],//地圖中心點
                                zoom: 13 //地圖顯示的縮放級別
                        });
//                        為地圖注冊click事件獲取鼠標點擊出的經(jīng)緯度坐標
                        var clickEventListener = map.on('click', function(e) {
                            if($scope.gpsType ==1){
                                $scope.gpsx=e.lnglat.getLat();
                                $scope.gpsy=e.lnglat.getLng();
                                console.log( $scope.gpsx + ", " + $scope.gpsy)
                            }else if($scope.gpsType ==2){
                                $scope.rallyGpsX=e.lnglat.getLat();
                                $scope.rallyGpsY=e.lnglat.getLng();
                                console.log( $scope.rallyGpsX + ", " + $scope.rallyGpsY)
                            }
                        });
                        //這里是搜索
                      
                        AMap.plugin('AMap.Autocomplete',function(){//回調(diào)函數(shù)
                            var autoOptions = {
                                city: "", //城市,默認全國
                                input:"tipinput"http://使用聯(lián)想輸入的input的id
                            };
                            var autocomplete= new AMap.Autocomplete(autoOptions);
                    
                            AMap.event.addListener(autocomplete, "select", function(data){
                                //TODO 選擇后的處理程序,data的格式見 附錄
                            });
                        });
                        var autoOptions = {
                            input: "tipinput"
                        };
                        var auto = new AMap.Autocomplete(autoOptions);
                        var placeSearch = new AMap.PlaceSearch({
                            map: map
                        });  //構(gòu)造地點查詢類
                        AMap.event.addListener(auto, "select", select);//注冊監(jiān)聽,當選中某條記錄時會觸發(fā)
                        function select(e) {
                            placeSearch.setCity(e.poi.adcode);
                            placeSearch.search(e.poi.name);  //關(guān)鍵字查詢查詢
                        }
                    });
                },100);
                $scope.ok = function () {
                    $modalInstance.close('確定');
                    if($scope.gpsType ==1){
                        $scope.formData.gpsx=  $scope.gpsx;
                        $scope.formData.gpsy=  $scope.gpsy;
                    }else if($scope.gpsType ==2){
                        $scope.formData.rallyGpsX=  $scope.rallyGpsX;
                        $scope.formData.rallyGpsY=  $scope.rallyGpsY;
                    }
                };
                $scope.cancel = function () {
                    $modalInstance.dismiss('取消');
                };
            };

一樣的代碼按照api單獨寫個demo可以實現(xiàn),但是放在項目中就沒有反應(yīng),求解???

回答
編輯回答
夢若殤

有這么幾種可能
1.路徑問題
2.看console控制臺,靜態(tài)文件是不是被攔截器攔截了,以至于不能訪問到

2017年1月31日 06:34