(function() {
    'use strict';

    angular
        .module('app')
        .directive('gaodeMap', Directive);
    Directive.$inject = [];

    function Directive() {
        var directive = {
            link: link,
            restrict: 'E',
            template: '<div id="container"></div>',
            replace: true,
            scope: {
                options: '='
            }
        };
        return directive;

        function link($scope, element, attrs) {
            var map, geolocation, marker, geocoder;
            //加载地图，调用浏览器定位服务
            map = new AMap.Map('container', {
                resizeEnable: true,
                zoom: 18
            });
            map.plugin('AMap.Geolocation', function() {
                geolocation = new AMap.Geolocation({
                    enableHighAccuracy: true, //是否使用高精度定位，默认:true
                    timeout: 10000, //超过10秒后停止定位，默认：无穷大
                    maximumAge: 0, //定位结果缓存0毫秒，默认：0
                    convert: true, //自动偏移坐标，偏移后的坐标为高德坐标，默认：true
                    showButton: true, //显示定位按钮，默认：true
                    buttonPosition: 'RB', //定位按钮停靠位置，默认：'LB'，左下角
                    buttonOffset: new AMap.Pixel(10, 20), //定位按钮与设置的停靠位置的偏移量，默认：Pixel(10, 20)
                    showMarker: true, //定位成功后在定位到的位置显示点标记，默认：true
                    showCircle: true, //定位成功后用圆圈表示定位精度范围，默认：true
                    panToLocation: true, //定位成功后将定位到的位置作为地图中心点，默认：true
                    zoomToAccuracy: true, //定位成功后调整地图视野范围使定位位置及精度范围视野内可见，默认：false
                    useNative: true
                });
                map.addControl(geolocation);
                geolocation.getCurrentPosition();

                // AMap.event.addListener(geolocation, 'complete', function(ret) {
                //     console.log(ret.message);
                // }); //返回定位信息
                // AMap.event.addListener(geolocation, 'error', function(ret) {
                //     console.log(ret.message);
                // }); //返回定位出错信息

                // marker = new AMap.Marker({
                //     map: map,
                //     bubble: true,
                //     content: '<div class="marker-route marker-marker-bus-from"></div>' //自定义点标记覆盖物内容,
                // });

                // marker.setLabel({
                //     offset: new AMap.Pixel(20, 0),
                //     content: "我在这里"
                // });
                // //geocoder = new AMap.Geocoder({});
                // map.on('click', function(e) {
                //     marker.setPosition(e.lnglat);
                //     geocoder.getAddress(e.lnglat, function(status, result) {
                //         if (status == 'complete') {
                //             document.getElementById('input').value = result.regeocode.formattedAddress
                //         }
                //     });
                // });

            });

            // $scope.$watch("options", function(newValue, oldValue) {
            //     if ($scope.options) {
            //         map.setCenter([$scope.options.lng, $scope.options.lat]);
            //         marker.setPosition([$scope.options.lng, $scope.options.lat]);
            //     }
            // }, true);
        }
    }
})();