gpt4 book ai didi

javascript - 使用模板变量时,Django google-maps API v3 不适用于 Chrome

转载 作者:行者123 更新时间:2023-11-30 16:10:38 25 4
gpt4 key购买 nike

我想将纬度、经度变量传递到我的模板以在 Google map 上显示位置。为此,我在 javascript 中使用模板变量:

<script type="text/javascript">
var map;
function initMap() {
map = new google.maps.Map(document.getElementById("map"), {
center: {lat: {{ m_city.location.y }}, lng: {{ m_city.location.x }}},
zoom: 10
});
}
</script>

<script src="https://maps.googleapis.com/maps/api/js?key=KEY&callback=initMap"
async defer></script>

它在 Firefox 中工作正常,但 Chrome(v.42) 根本不显示 map 。尽管在生成页面的源代码中经纬度被正确替换。

如果我复制生成的纬度和经度并将其硬编码到模板中,则代码可以工作并且 Chrome 会显示 map 。

谁能告诉我为什么会这样?

更新

正如 Selcuk 在评论中指出的那样,问题出在小数点分隔符(逗号而不是点)。由于浏览器的语言设置不同,产生了不同的分隔符。将 USE_L10N 设置为 False 有帮助。

最佳答案

我建议使用 localize templatetag,这样您就可以在不破坏 javascript 代码的情况下使用格式本地化。

{% localize off %}
<script type="text/javascript">
var map;
function initMap() {
map = new google.maps.Map(document.getElementById("map"), {
center: {lat: {{ m_city.location.y }}, lng: {{ m_city.location.x }}},
zoom: 10
});
}
</script>
{% endlocalize %}
<script src="https://maps.googleapis.com/maps/api/js?key=KEY&callback=initMap"
async defer></script>

关于javascript - 使用模板变量时,Django google-maps API v3 不适用于 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com