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

QQ登录

只需一步,快速开始

查看: 2885|回复: 3

[处理中3] 给的地图例子中高德地图的初始化方法第一次不会执行

[复制链接]

4

主题

8

帖子

26

积分

新手上路

Rank: 1

积分
26
QQ
发表于 2017-9-22 11:06:55 | 显示全部楼层 |阅读模式
地图例子中高德地图的初始化方法第一次不会执行,window.AMap为true,而window.AMap.Map为false,所以第一次不会调用window._gaodeInit();只有刷新后才会执行这个方法

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2017-9-25 10:59:10 | 显示全部楼层
这个第一次不会执行吗?
map.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

4

主题

8

帖子

26

积分

新手上路

Rank: 1

积分
26
QQ
 楼主| 发表于 2017-9-25 11:44:05 | 显示全部楼层
jishuang 发表于 2017-9-25 10:59
这个第一次不会执行吗?

我测试了下,第一次会从上往下执行,但是第一次加载时window.AMap.Map为false,初始化方法会执行一次,但是刷新后或者再次进入这个页面时window.AMap.Map为true,初始化方法会执行两次,我想定位成功后加一个marker,这样会加两个marker,在定位时又遇到了新问题,        map.plugin('AMap.Geolocation', function() {
                                geolocation = new AMap.Geolocation({
                                        enableHighAccuracy : true,// 是否使用高精度定位,默认:true
                                        timeout : 10000, // 超过10秒后停止定位,默认:无穷大
                                        maximumAge : 10, // 定位结果缓存0毫秒,默认:0
                                        convert : true, // 自动偏移坐标,偏移后的坐标为高德坐标,默认:true
                                        showButton : true, // 显示定位按钮,默认:true
                                        buttonPosition : 'LB', // 定位按钮停靠位置,默认:'LB',左下角
                                        buttonOffset : new AMap.Pixel(10, 100),// 定位按钮与设置的停靠位置的偏移量,默认:Pixel(10,
                                        // 20)
                                        showMarker : true, // 定位成功后在定位到的位置显示点标记,默认:true
                                        showCircle : true, // 定位成功后用圆圈表示定位精度范围,默认:true
                                        panToLocation : true, // 定位成功后将定位到的位置作为地图中心点,默认:true
                                        zoomToAccuracy : true
                                // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
                                });

                                map.addControl(geolocation);
                                geolocation.getCurrentPosition();
                                AMap.event.addListener(geolocation, 'complete', onComplete);// 返回定位信息
                                AMap.event.addListener(geolocation, 'error', onError); // 返回定位出错信息


我用这个定位方法在本地用浏览器访问或者本地打包测试都能定位,但是把ui资源打包放到tomcat下访问或者打包部署到cloudx5上就提示geolocation permission denied,不太懂为什么
t5.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2017-9-26 16:35:15 | 显示全部楼层
1.执行了new之后就应该有window.AMap.Map啊
2.http://blog.csdn.net/zerorm/article/details/70269545
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-5 05:11 , Processed in 0.056739 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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