博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angularjs 高德地图 选取坐标 bootstrap modal
阅读量:5752 次
发布时间:2019-06-18

本文共 3556 字,大约阅读时间需要 11 分钟。

index.html

    

{

{point|json}}

click show

GdMapModal.js

(function (angular) {    function controller($scope, $uibModalInstance, point) {        $scope.init = function () {            $scope.point = point        }        $scope.$on('map-click', function (event, e) {            $scope.point = {                lat: e.lnglat.getLat(),                lng: e.lnglat.getLng()            }            //$scope.$apply()        })        $scope.search = function (q) {            AMap.service(["AMap.PlaceSearch"], function () {                var placeSearch = new AMap.PlaceSearch({ //构造地点查询类                    pageSize: 1,                    pageIndex: 1,                    //city: "010", //城市                    //map: self.map,                    //panel: "panel"                })                //关键字查询                placeSearch.search(q, function (status, result) {                    //TODO : 按照自己需求处理查询结果                    var poiList = result.poiList                    if (poiList.count > 0) {                        var p = poiList.pois[0]                        $scope.$broadcast('setCenter', [p.location.lng, p.location.lat])                    }                })            })        }        $scope.ok = function () {            $uibModalInstance.close($scope.point);        }        $scope.cancel = function () {            $uibModalInstance.dismiss('cancel');        }    }    var app = angular.module('app');    app.factory('GdMapModalService', ['$uibModal', function ($uibModal) {        var service = {};        service.showModal = function (point) {            var modalInstance = $uibModal.open({                //animation: false,                templateUrl: 'GdMapModal.html',                controller: ['$scope', '$uibModalInstance', 'point', controller],                size: 'lg',                resolve: {                    point: function () {                        return point;                    },                }            });            return modalInstance;        }        return service    }]);    app.directive('gdMap', function ($timeout) {        return {            restrict: 'EA',            scope: {                point: '=?',            },            template: '
', replace: true, link: function (scope, el, attr, ctrl) { scope.map = new AMap.Map(el[0], { resizeEnable: true, zoom: 12, }) if (scope.point.lat && scope.point.lng) { var center = [scope.point.lng, scope.point.lat] scope.map.setCenter(center) scope.marker = new AMap.Marker({ map: scope.map }) scope.marker.setPosition(center) } scope.map.on('click', function (e) { scope.$emit('map-click', e) if (!scope.marker) { scope.marker = new AMap.Marker({ map: scope.map }) } scope.marker.setPosition([e.lnglat.getLng(), e.lnglat.getLat()]) }) scope.$on('setCenter', function (event, center) { if (!scope.map) return scope.map.setCenter(center) }) } } })})(window.angular)

GdMapModal.html

转载地址:http://ldukx.baihongyu.com/

你可能感兴趣的文章
Django_4_视图
查看>>
Linux的netstat命令使用
查看>>
大快网站:如何选择正确的hadoop版本
查看>>
经过这5大阶段,你离Java程序员就不远了!
查看>>
IntelliJ IDEA 连接数据库详细过程
查看>>
PHP-X开发扩展
查看>>
android学习笔记——onSaveInstanceState的使用
查看>>
工作中如何做好技术积累
查看>>
Spring Transactional
查看>>
shell脚本实例
查看>>
我的友情链接
查看>>
Windows Phone 7 隔离存储空间资源管理器
查看>>
apache安装报错undefined reference ssl
查看>>
关于爱情只有一句忠告
查看>>
CentOS 7下安装部署Oracle11g图文教程
查看>>
F#初学笔记06
查看>>
实战:将企业域名解析委派给企业DNS服务器
查看>>
在Lync 2013环境部署Office Web Apps
查看>>
微软大会Ignite,你准备好了么?
查看>>
读书笔记-高标管事 低调管人
查看>>