我在javascript方面的经验非常缺乏......仅仅这一个问题就解决了我目前约90%的问题!
所以这里我有一个显示的地图,它们是已经存放在.js文件中的标记语言,我需要的是能够通过php添加标记,所以我假设我必须通过一个数组foreach并运行脚本来添加每个标记。但访问该功能似乎是我的主要问题。
<div class="col-md-6">
<div class="content-wrap" id="map">
<div class="wrapper" >
</div>
</div>
</div>
<script src="js/maps.js"></script>
<script src="plugins/gmaps.js"></script>
maps.js
var googlemap = function () {
var map;
return {
init: function () {
map = new GMaps({
div: "#map",
lat: ***,
lng: ***
});
map.addMarker({
lat: ***,
lng: ***,
title: "Marker with InfoWindow",
infoWindow: {
content: "<p>***</p>"
}
});
}
};
}();
$(function () {
"use strict";
googlemap.init();
});
如何到达.php文件中的功能?
另请注意,.js函数中的当前地图标记可以正常工作。
答案 0 :(得分:2)
您无法使用PHP脚本访问.js文件,除非您想要为每次加载重写文件时使用一些非常难看的函数。
将其设为html文件中的内联脚本。
替换:
<script src="js/maps.js"></script>
使用:
<script type="text/javascript">
var googlemap = function () {
var map;
return {
init: function () {
map = new GMaps({
div: "#map",
lat: <?php echo $lat; ?>,
lng: <?php echo $lon; ?>
});
map.addMarker({
lat: <?php echo $lat; ?>,
lng: <?php echo $lon; ?>,
title: "Marker with InfoWindow",
infoWindow: {
content: "<p>***</p>"
}
});
}
};
}();
$(function () {
"use strict";
googlemap.init();
});
</script>
答案 1 :(得分:0)
我认为您应该使用ajax从服务器获取所需内容。返回一个对象并使用您返回的数据。