|

楼主 |
发表于 2017-7-20 11:04:38
|
显示全部楼层
- define(function(require) {
- // var $ = require("jquery");
- var map = require('http://webapi.amap.com/maps?v=1.3&key=07d5583f320fa1a75dbb1f3f72&plugin=AMap.Autocomplete,AMap.PlaceSearch');
- var ui = require('http://webapi.amap.com/ui/1.0/main.js');
- var justep = require("$UI/system/lib/justep");
- var dialog = require("$UI/system/components/justep/dialog/dialog");
- var Model = function() {
- this.callParent();
- };
- Model.prototype.modelLoad = function(event) {
- this.loadGaodeMap();
- };
- Model.prototype.loadGaodeMap = function() {
- var amap = this.getIDByXID("gaodeMap");
- var source = this.comp('source');
- var dest = this.comp('dest');
- dest.set({
- "value" : "请输入收货人所在地"
- });
- AMapUI.loadUI([ 'misc/PositionPicker' ], function(PositionPicker) {
- var map = new AMap.Map(amap, {
- zoom : 16,
- scrollWheel : false
- });
- map.plugin('AMap.Geolocation', function() {
- source.set({"value" : "正在获取定位..."});
- geolocation = new AMap.Geolocation({
- enableHighAccuracy : true, // 是否使用高精度定位,默认:true
- timeout : 10000, // 超过10秒后停止定位,默认:无穷大
- buttonOffset : new AMap.Pixel(10, 20), // 定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
- zoomToAccuracy : false, // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
- buttonPosition : 'RB',
- showMarker : false,
- showCircle : false
- });
- map.addControl(geolocation);
- geolocation.getCurrentPosition();
- AMap.event.addListener(geolocation, 'complete', onComplete); // 返回定位信息
- AMap.event.addListener(geolocation, 'error', onError); // 返回定位出错信息
- });
- // 解析定位结果
- function onComplete(data) {
- source.set({"value" : data.formattedAddress});
- }
- // 解析定位错误信息
- function onError(data) {
- source.set({"value" : "定位失败"});
- }
- var positionPicker = new PositionPicker({
- mode : 'dragMap',
- map : map
- });
- positionPicker.on('success', function(positionResult) {
- source.set({"value" : positionResult.address});
- });
- positionPicker.on('fail', function(positionResult) {
- source.set({"value" : "选取位置失败"});
- });
- var onModeChange = function(e) {
- positionPicker.setMode(e.target.value)
- }
- positionPicker.start();
- map.panBy(0, 1);
- });
- };
- Model.prototype.sourceClick = function(event) {
- this.comp("sourceDialog").open({
- data : this.comp('source').get("value")
- });
- };
- Model.prototype.destClick = function(event) {
- this.comp("destDialog").open();
- };
- return Model;
- });
复制代码 |
|