1

如果我自己链接脚本是这样的:

<script src="dist/js/osm/leaflet.js" type="text/javascript"></script>

一切正常。但是一旦我想像这样动态加载我的脚本:

$.ajax({
    type: "GET",
    url: "dist/js/osm/leaflet.js",
    dataType: "script",
    async: false
});

地图将显示,但应显示的所有标记都不会显示。如您所见,我也尝试过

async: false

但这不会解决问题。

注意:我还加载了我自己编写的第二个脚本,但在动态加载时效果很好。正如我之前提到的,唯一不起作用的是在显示的地图上添加标记。

请帮我解决这个问题,在此先感谢。

4

1 回答 1

7

当您像这样动态加载传单时,它将无法确定它是从哪里加载的,因此它将无法确定标记图标的正确 URL。原因是它会查找script加载传单的标签以计算出它是从哪个路径加载的,并且当您像这样使用 AJAX 加载时,没有script可以找到的标签。

L.Icon.Default.imagePath您可以通过在传单加载后和创建任何标记之前设置传单图像的基本 URL 来解决此问题。

于 2013-02-05T09:24:06.860 回答