Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
Jquery 谷歌地图API 3_Jquery_Google Maps_Google Maps Api 3 - Fatal编程技术网

Jquery 谷歌地图API 3

Jquery 谷歌地图API 3,jquery,google-maps,google-maps-api-3,Jquery,Google Maps,Google Maps Api 3,我有3支马克笔。。单击marker1时是否可以将example1.html加载到div1?对于marker2,将example2.html添加到div1 这是@kjy112修改后的演示,请尝试为myPoints数组中的每个标记添加要包含的页面,如: var myPoints = [[43.65654, -79.90138, 'ABC','exemple1.html'],[43.91892, -78.89231, 'DEF','exemple2.html'],[43.82589, -79.1004

我有3支马克笔。。单击marker1时是否可以将example1.html加载到div1?对于marker2,将example2.html添加到div1


这是@kjy112修改后的演示,请尝试为myPoints数组中的每个标记添加要包含的页面,如:

var myPoints = [[43.65654, -79.90138, 'ABC','exemple1.html'],[43.91892, -78.89231, 'DEF','exemple2.html'],[43.82589, -79.10040, 'GHA','mypage.html']];  //create global array to store points
然后,当您循环myPoints时:

for(var i=0; i<myPoints.length; i++){
     createMarker(new google.maps.LatLng(myPoints[i][0], myPoints[i][1]), myPoints[i][2], myPoints[i][3]);
}

我正在做的是在div1中添加一个iframe。有了它,我将myPoints数组的第三项替换为您想要的html文件或超链接的名称。(请注意,您可能会在x-frame-options下遇到“禁止显示”,我在google.com上了解到了这一点,但我无法将其放入div/iframe中)。它应该在你自己的领域内工作

制作两个名为static_a.html和static_b.html的(简单)静态html来测试下面的代码。中间的标记应该放在纽约大学的主页上

给定每个标记的链接,div将从iframe的src中使用
$(“#myiframe”).attr('src',html)间接更改在标记的单击侦听器中

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
    html, body {
      margin:0px;
      padding:0px;
      height:100%;
    }
    #map_canvas {
      width:500px;
      height:100%;
    }
    #div1 {
      background-color:#0FC;
      width:300px;
      height:100%;
      position:absolute;
      right:0px;
      top:0px;
      display:none;
    }
    </style>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
var map = null;
var markerArray = []; //create a global array to store markers
var myPoints = [[43.65654, -79.90138, 'static_a.html'],
                [43.91892, -78.89231, 'static_b.html'],
                [43.82589, -79.10040, 'http://www.nyu.edu']];  //create global array to store points

function initialize() {
    var myOptions = {
        zoom: 8,
        center: new google.maps.LatLng(43.907787, -79.359741),
        mapTypeControl: true,
        mapTypeControlOptions: {
            style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
        },
        navigationControl: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
    });

    // Add markers to the map
    // Set up markers based on the number of elements within the myPoints array
    for(var i=0; i<myPoints.length; i++) {
         createMarker(new google.maps.LatLng(myPoints[i][0], myPoints[i][1]), myPoints[i][2]);
    }

    //mc.addMarkers(markerArray , true);
}

var infowindow = new google.maps.InfoWindow({
});

function createMarker(latlng, html) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        map: map
    });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString);
        infowindow.open(map, marker);
        map.panTo(latlng);
        $("#div1").show();
        $("#myiframe").attr('src', html);

    });

    markerArray.push(marker); //push local var marker into global array
}
    </script>
  </head>
  <body onload="initialize()">
<div id="map_canvas"></div>
<div id="div1"><iframe id="myiframe" style="width: 100%; height: 100%"></iframe>
</div>

  </body>
</html>

html,正文{
边际:0px;
填充:0px;
身高:100%;
}
#地图画布{
宽度:500px;
身高:100%;
}
#第一组{
背景色:#0FC;
宽度:300px;
身高:100%;
位置:绝对位置;
右:0px;
顶部:0px;
显示:无;
}
var-map=null;
var-markerary=[]//创建全局数组以存储标记
var myPoints=[[43.65654,-79.90138,'static_a.html'],
[43.91892,-78.89231,'static_b.html'],
[43.82589, -79.10040, 'http://www.nyu.edu']];  //创建全局数组以存储点
函数初始化(){
变量myOptions={
缩放:8,
中心:新google.maps.LatLng(43.907787,-79.359741),
mapTypeControl:true,
mapTypeControlOptions:{
样式:google.maps.MapTypeControlStyle.DROPDOWN_菜单
},
导航控制:对,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
google.maps.event.addListener(映射,'click',函数(){
infowindow.close();
});
//向地图添加标记
//根据myPoints数组中的元素数设置标记

对于(var i=0;iis,它对您有效?对我无效..而thx用于快速响应。我写了一些错误:$.get(marker.link,function(data){而不是$.get(marker.num,function(data){现在应该可以工作了,但我不明白页面底部的“映射:”)我也不明白发生了什么。我更改了上面的代码,这样它就可以保存而不使用奇怪的字符。我使用emacs,它说:这些默认的编码系统试图在缓冲区“stackdivhtml9.html”中编码文本:(iso-latin-1-dos(1309.8203))但是,他们每个人都遇到了无法编码的字符:iso-latin-1-dos无法编码这些字符:(一个不可见的字符)。它确实指出了字符的位置。不确定编辑器、web主机或JSFIDLE是否正在添加此字符?是的,问题发生在JSFIDLE代码中..后面有一个不可见的?字符,我有一个问题..我可以筛选此标记吗?我做了,但不是动态..这是复选框样式,我需要切换按钮..和我必须在我的网站上提到你:D
<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
    html, body {
      margin:0px;
      padding:0px;
      height:100%;
    }
    #map_canvas {
      width:500px;
      height:100%;
    }
    #div1 {
      background-color:#0FC;
      width:300px;
      height:100%;
      position:absolute;
      right:0px;
      top:0px;
      display:none;
    }
    </style>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
var map = null;
var markerArray = []; //create a global array to store markers
var myPoints = [[43.65654, -79.90138, 'static_a.html'],
                [43.91892, -78.89231, 'static_b.html'],
                [43.82589, -79.10040, 'http://www.nyu.edu']];  //create global array to store points

function initialize() {
    var myOptions = {
        zoom: 8,
        center: new google.maps.LatLng(43.907787, -79.359741),
        mapTypeControl: true,
        mapTypeControlOptions: {
            style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
        },
        navigationControl: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
    });

    // Add markers to the map
    // Set up markers based on the number of elements within the myPoints array
    for(var i=0; i<myPoints.length; i++) {
         createMarker(new google.maps.LatLng(myPoints[i][0], myPoints[i][1]), myPoints[i][2]);
    }

    //mc.addMarkers(markerArray , true);
}

var infowindow = new google.maps.InfoWindow({
});

function createMarker(latlng, html) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        map: map
    });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString);
        infowindow.open(map, marker);
        map.panTo(latlng);
        $("#div1").show();
        $("#myiframe").attr('src', html);

    });

    markerArray.push(marker); //push local var marker into global array
}
    </script>
  </head>
  <body onload="initialize()">
<div id="map_canvas"></div>
<div id="div1"><iframe id="myiframe" style="width: 100%; height: 100%"></iframe>
</div>

  </body>
</html>