Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在html中访问.js函数?_Javascript_Html_Google Maps_Gmaps.js - Fatal编程技术网

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

Javascript 如何在html中访问.js函数?,javascript,html,google-maps,gmaps.js,Javascript,Html,Google Maps,Gmaps.js,我在javascript方面的经验非常缺乏。。仅这一个问题就可以解决我目前90%的问题 这里我有一个显示的映射,它们是一个标记langlat,已经放在.js文件中,我需要的是能够通过php添加标记,所以我假设我必须传递一个数组foreach并运行脚本来添加每个标记。但是访问这个函数似乎是我的主要问题 <div class="col-md-6"> <div class="content-wrap" id="map"> <div class="

我在javascript方面的经验非常缺乏。。仅这一个问题就可以解决我目前90%的问题

这里我有一个显示的映射,它们是一个标记langlat,已经放在.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();
});
var googlemap=函数(){
var映射;
返回{
init:函数(){
map=新的gmap({
分区:“#地图”,
拉脱维亚:**,
液化天然气:***
});
map.addMarker({
拉脱维亚:**,
液化天然气:**,
标题:“带信息窗口的标记”,
信息窗口:{
内容:“***

” } }); } }; }(); $(函数(){ “严格使用”; googlemap.init(); });
如何访问.php文件中的函数


还要注意,.js函数中的当前映射标记工作正常。

我认为应该使用ajax从服务器获取所需内容。返回一个对象并使用返回的数据。

使用PHP脚本无法访问.js文件,除非您想使用一些复杂的函数为每次加载重写文件

将其改为html文件中的内联脚本

替换:

<script src="js/maps.js"></script>

与:


var googlemap=函数(){
var映射;
返回{
init:函数(){
map=新的gmap({
分区:“#地图”,
拉丁语:,
液化天然气:
});
map.addMarker({
拉丁语:,
液化天然气:,
标题:“带信息窗口的标记”,
信息窗口:{
内容:“***

” } }); } }; }(); $(函数(){ “严格使用”; googlemap.init(); });
可能重复的问题不一定是这个问题,我的问题是从php文件实际访问函数以添加标记,而不是像传递变量那样传递。您应该像在其他JS文件中一样包含该文件。如果您依赖PHP从数据库读取数据,然后添加标记,那么您会在PHP while循环中回显JS。也许不会,但该问题的答案应该为您提供一个很好的基础,让您知道哪里出了问题,以及如何解决问题。但是,不是重复。如果提交一个表单来返回数据,我很感激ajax会很有用,如果数据已经加载到正在加载的页面上呢?那么我就不需要ajax了。具体地说,我想使用map.addMarker并在文档的html/php端使用它,我如何访问它?
<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>