新手问题 baidu 地图 ajax 载入问题

xiaoxiao · 2013年09月15日 · 最后由 luoqiaowei 回复于 2014年09月15日 · 4775 次阅读

最近在做个 ajax 调用百度地图,但是遇到了困难。ajax 第二次调用时百度地图不出现了 直接贴代码 view 的代码 application.html.erb

<%= stylesheet_link_tag    "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=abcdefghjkl"></script>
<%= link_to 'ajax', boys_ajax_path(:format=>:js), :remote=>true %>
<div id='ajax' style='width:300px;height:300px;border:1px solid gray'></div>

boy.js.erb

$("#ajax").html("<div style='width:100%;height:100%;border:1px solid gray' id='allmap'></div>")
var map = new BMap.Map("allmap");           
var point = new BMap.Point(116.404, 39.915);    
map.centerAndZoom(point,15);                 
map.enableScrollWheelZoom(); 

现在我点一下 ajax 按钮,出现百度地图, 但是当我第二次点下 ajax 按钮的时候百度地图就不出现了,就剩下下面的标签了 刷新之后点击 ajax 又出现地图,但第二次又不行。什么原因,求指教 ruby 1.9.3 rails 3.2.13

在 map new 之前先把 map 设置为空试试。

我试了不行

楼上应该是对的,百度地图如果 new 的话所有的东西都会重置,用 ajax 的话不用重新 new

不用 new 的话,第一次点也生成不了百度地图,

很奇怪的是第二次点,第三次点百度地图不是全没了,下面的 log 还在的,搞不懂,各位可以将代码复制回去试试

http://api.map.baidu.com/api?v=2.0&ak=abcdefghjkl那个百度的秘钥我故意换掉的,各位可以自己去网上找,不会问我

@xiaoxiao git 到 github,我帮你看看?百度地图有一些项目经验。。

@kai1248 git 好久没有弄了,弄到现在,地址如下https://github.com/railsfans/ajax.git

我日了,如果将百度秘钥去掉改用 1.2 版本就可以了。神奇了

var map = new BMap.Map("allmap");

你尝试把 var 去掉就应该可以了

已解决。thx

#12 楼 @xiaoxiao 楼主可以说说是怎么解决这个问题的么 我现在也遇到了这样的问题 求助

@luoqiaowei 我上面说了呀,调用百度 1.2 版本就好了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号