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

QQ登录

只需一步,快速开始

查看: 14530|回复: 14

[处理中3] 集成百度地图,初始化不能加载地图点

[复制链接]

56

主题

203

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
发表于 2019-3-20 10:44:23 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
根据案例做的百度地图集成,想在页面onload的时候加载几个地图点,最开始是 BMap undefined  后来经过百度,引入了requirejs  ,加载地图改为如下:
require.config({
                        paths: {
                                'async': 'requirejs-plugins/async',
                                'BMap': ['https://api.map.baidu.com/api?v=2.0&ak=kRHuqFbkaoDcf5CsmOY0fwlpOZZgMxkt&s=1']
                        },
                        shim: {
                                'BMap': {
                                        exports: 'BMap'
                                }
                        }
                });
                require(['async!BMap'], function(){
                        if (window.BMap && window.BMap.Map) {
                                window._baiduInit();
                        }
                });


页面报错  require.config is not a function  请问我该如何修改,才能在页面初始化的时候  加载出数据库存放的地图上的点

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2019-3-20 11:50:12 | 显示全部楼层
参考/UI2/takeout/mapActivity.w中有iframe的方式引入
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

56

主题

203

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
 楼主| 发表于 2019-3-20 13:23:48 | 显示全部楼层
jishuang 发表于 2019-3-20 11:50
参考/UI2/takeout/mapActivity.w中有iframe的方式引入

要改成iframe 才行吗
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2019-3-20 13:37:40 | 显示全部楼层
是的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

56

主题

203

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
 楼主| 发表于 2019-3-21 09:49:56 | 显示全部楼层

我想问下model load中调用的this.loadBaiduMap();   loadBaiduMap()中定义的window._baiduInit(),为什么在model load中所有内容执行完了 才去执行_baiduInit
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2019-3-21 11:09:05 | 显示全部楼层
debugger调试执行this.loadBaiduMap();后不会跳入window._baiduInit()?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

56

主题

203

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
 楼主| 发表于 2019-3-21 14:20:22 | 显示全部楼层
jishuang 发表于 2019-3-21 11:09
debugger调试执行this.loadBaiduMap();后不会跳入window._baiduInit()?

对,进入loadBaiduMap后  走到require 那一句,直接跳到最后,等model load 走完,才去走baiduInit
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2019-3-21 16:12:01 | 显示全部楼层
函数具体怎么定义的发一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

56

主题

203

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
 楼主| 发表于 2019-3-22 09:03:19 | 显示全部楼层
jishuang 发表于 2019-3-21 16:12
函数具体怎么定义的发一下

Model.prototype.modelLoad = function(event){
                debugger;
        //加载地图并加载站点位置
                this.loadBaiduMap();
                this.getPoints();
                if(window.map2!=undefined) {
                        window.addMarker(window.map2,points);
                }       
        };
       
        Model.prototype.loadBaiduMap = function() {
                debugger;
                var id = this.getIDByXID("divMap");
                window._baiduInit = function() {               
                        var map = new BMap.Map(id);
                        window.map2 = map;
                        map.centerAndZoom(new BMap.Point(116.397428, 39.90923), 12);
                        map.addControl(new BMap.MapTypeControl());
                        map.setCurrentCity("北京");
                        map.enableScrollWheelZoom(true);

                };
                require([ 'http://api.map.baidu.com/api?v=1.4&ak=您的密钥&callback=_baiduInit' ], function() {
                        if (window.BMap && window.BMap.Map) {
                                window._baiduInit();
                        }
                });
        };
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2019-3-22 09:54:51 | 显示全部楼层
  1. Model.prototype.modelLoad = function(event){
  2.                 debugger;//1
  3.         //加载地图并加载站点位置
  4.                 this.loadBaiduMap();
  5.                                 debugger;//2
  6.                 this.getPoints();
  7.                 if(window.map2!=undefined) {
  8.                         window.addMarker(window.map2,points);
  9.                 }        
  10.         };

  11. Model.prototype.loadBaiduMap = function() {
  12.                 debugger;//3
  13.                 var id = this.getIDByXID("divMap");        
  14.                 require([ 'http://api.map.baidu.com/api?v=1.4&ak=您的密钥&callback=_baiduInit' ], function() {
  15.                                 debugger;//4
  16.                         if (window.BMap && window.BMap.Map) {
  17.                                   var map = new BMap.Map(id);
  18.                         window.map2 = map;
  19.                         map.centerAndZoom(new BMap.Point(116.397428, 39.90923), 12);
  20.                         map.addControl(new BMap.MapTypeControl());
  21.                         map.setCurrentCity("北京");
  22.                         map.enableScrollWheelZoom(true);
  23.                         }
  24.                 });
  25.         };
复制代码
debugger执行顺序不是1,3,4,2?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-8 06:40 , Processed in 0.051958 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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