Jquery Ajax和Google地图在Django中不起作用
我使用django easy maps在我的页面上显示地图,我在侧边栏上有一些链接,当用户单击该链接时,我想用链接中的地址刷新地图 我的devote.html的django模板如下Jquery Ajax和Google地图在Django中不起作用,jquery,django,google-maps,google-maps-api-3,Jquery,Django,Google Maps,Google Maps Api 3,我使用django easy maps在我的页面上显示地图,我在侧边栏上有一些链接,当用户单击该链接时,我想用链接中的地址刷新地图 我的devote.html的django模板如下 {% block optionalcode %} <script> $(document).ready(function() { $('.link').click(function() { var n = $(this).attr("name"); n=n.replace(/\s/g,'+'); $('#
{% block optionalcode %}
<script>
$(document).ready(function() {
$('.link').click(function() {
var n = $(this).attr("name");
n=n.replace(/\s/g,'+');
$('#results').html(' ').load('/donate/?n=' + n);
});
});
</script>
{% endblock %}
{% block contenttitle %}{% endblock %}
{% block content %}
<div class="container-fluid">
<div class="row-fluid">
<div class="span8">
<div class="hero-unit" style="padding:10px 10px 10px 10px">
<div id="results">
<b> <pre class="prettyprint
linenums"> {{addr}} </pre> </b>
{% load easy_maps_tags %}
{% easy_map addr 725 400 %}
</div>
</div>
</div>
{% endblock %}
{% block sidebar %}
<div class="span4">
<div class="hero-unit" style="padding:10px 10px 10px 10px">
<div class="accordion" id="accordion2">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
North Delhi
</a>
</div>
<div style="height: 0px;" id="collapseOne" class="accordion-body collapse">
<div class="accordion-inner">
<ol>
<li><a class='link' href="#" name="Some name1">Some link1</a> </li>
<li><a class='link' href="#" name="Some name2">Some link2</a> </li>
</ol>
</div>
</div>
</div>
</div>
{% endblock %}
而捐赠_res.html只是替换#results div代码的一小部分
<b> <pre class="prettyprint linenums"> {{addr}} </pre> </b>
{% load easy_maps_tags %}
{% easy_map addr 725 400 using "easy_maps/map.html"%}
请告诉我我做错了什么,或者有什么解决方法来消除这个错误……我是Django的新手。看看。它应该回答为什么它不起作用
另外,我个人不同意你这样做。它是在你每次点击链接时重新创建和重新加载地图,这不仅效率低下,而且从长远来看,你可能会遇到一些问题,这些问题限制了你从谷歌加载地图的最大次数
我建议您创建自己的javascript来加载地图和地址,或者查看django easy maps生成的代码,看看您是否可以设置地图的中心或标记的位置,而不是重新创建容器并重新下载地图javascript
如果您可以粘贴django easy maps在
{%easy\u map addr 725 400中使用“easy\u maps/map.html”%}生成的代码,我可以提供更多帮助
地址是文本还是点?@Maqsood:地址是文本。我之前看到了这个问题,问题中提到的问题和我一样,但我不完全理解答案……其中一条评论建议在脚本url中添加&callback=isNaN。我也这样做了,但不起作用……下面是easy_map标记生成替换html,并在load eventgoogle.maps.event.addDomListener(窗口“load”,初始化_map_14)上附加一个事件侦听器代码>也已触发。您是否仅尝试列出位置并更改列表?你们有多少个地点?最好将位置文本和坐标存储在数据库中,以JSON获取回复,然后使用setTitle(title:string)
和setPosition(latlng:latlng)
移动标记并更改标题。这也会快得多。我已经在Django做过了。你能分享一下你做这件事的代码吗?如果你同意的话。非常感谢。
<b> <pre class="prettyprint linenums"> {{addr}} </pre> </b>
{% load easy_maps_tags %}
{% easy_map addr 725 400 using "easy_maps/map.html"%}
A call to document.write() from an asynchronously-loaded external script was ignored. @ http://127.0.0.1:8000/donate/