如何在html中访问.js函数?

时间:2014-12-16 13:39:44

标签: javascript html google-maps gmaps.js

我在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函数中的当前地图标记可以正常工作。

2 个答案:

答案 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从服务器获取所需内容。返回一个对象并使用您返回的数据。