起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1182|回复: 2

[结贴] 定位和地图显示顺序问题

[复制链接]

46

主题

118

帖子

424

积分

中级会员

Rank: 3Rank: 3

积分
424
QQ
发表于 2017-5-8 09:05:34 | 显示全部楼层 |阅读模式
在wex5 用的定位是  引入cordova!cordova-plugin-geolocation。function success(data) {                if (window.lon != "" && window.lat != "") {
                        window.lon = data.coords.longitude;
                        window.lat = data.coords.latitude;
                        alert(lon+""+lat);
                }
        }
        function fail(msg) {
                alert("错误消息:" + msg);
        }
navigator.geolocation.getCurrentPosition(success, fail, null);


我调用的百度地图是根据demo中跟百度API实现的。

// 加载百度地图
        Model.prototype.loadBaiduMap = function() {
       
                var id = this.getIDByXID("baiduMap");
                window._baiduInit = function() {
                        map = new BMap.Map(id, {
                                minZoom : 2,
                                enableMapClick : false
                        }); // 创建地图对象,可以设置地图缩放最大最小级别,设置是否显示POI点击
                        var geoc = new BMap.Geocoder();
                        var point = new BMap.Point(window.lon, window.lat);
                        var pointA = new BMap.Point((window.lon - 0.0010), window.lat);
                        map.centerAndZoom(point, 20);
                        map.enableScrollWheelZoom(true); // 设置允许鼠标滚轮缩放地图
                        map.enableContinuousZoom(); // 设置连续缩放
                        map.addControl(new BMap.NavigationControl()); // 添加平移缩放控件
                        map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
                        map.addControl(new BMap.OverviewMapControl()); // 添加缩略地图控件
                        map.enableScrollWheelZoom(); // 启用滚轮放大缩小,默认禁用
                        map.enableContinuousZoom(); // 启用地图惯性拖拽,默认禁用
                        var marker = new BMap.Marker(point); // 创建标注
                        var markerA = new BMap.Marker(pointA); // 创建标注
                        map.addOverlay(marker); // 将标注添加到地图中
                        map.addOverlay(markerA);
                        marker.setAnimation(BMAP_ANIMATION_BOUNCE); // 跳动的动画
                        markerA.addEventListener("click", getAttr);
                        function getAttr() {
                                var walking = new BMap.WalkingRoute(map, {
                                        renderOptions : {
                                                map : map,
                                               
                                                panel : "r-result",
                                                autoViewport : false
                                        }
                                });
                                walking.search(point, pointA);
                                walking.
                                alert((map.getDistance(point, pointA)).toFixed(2) + ' 米。');
                        }
                        map.addEventListener("click", function(e) { // 增加鼠标点击事件
                                point = new BMap.Point(e.point.lng, e.point.lat);
                                geoc.getLocation(e.point, function(rs) {
                                        var addComp = rs.addressComponents;
                                });
                        });
                };
                // 调用百度密钥
                require([ 'http://api.map.baidu.com/api?v=1.4&ak=o9pzum8sF8s3wqodZnt9S5OsKlLdjOil&callback=_baiduInit' ], function() {
                        if (window.BMap && window.BMap.Map) {
                                window._baiduInit();
                        }
                });
        };



现在我碰到的问题是 有时候定位方法还没执行完 地图就加载了  所以定位不准确 。 当定位已经获取了经纬度坐标 再去加载图片那么定位很准确。
现在不知道怎么去判断先执行定位再执行地图。。 跪求大神,版主帮帮忙


QQ:737844076
发表于 2017-5-8 11:31:52 | 显示全部楼层
可以等待定位成功后再初始化地图!
1.在成功回调中初始化地图
2. 判断定位成功后再执行地图初始化
http://docs.wex5.com/wex5-ui-question-list-2104
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

46

主题

118

帖子

424

积分

中级会员

Rank: 3Rank: 3

积分
424
QQ
 楼主| 发表于 2017-5-17 14:06:54 | 显示全部楼层
忘记回复版主了   谢谢 已经解决
QQ:737844076
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-9-23 20:11 , Processed in 0.079761 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表