Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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

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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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 为AJAX重写Google地图_Jquery_Google Maps_Google Maps Api 3 - Fatal编程技术网

Jquery 为AJAX重写Google地图

Jquery 为AJAX重写Google地图,jquery,google-maps,google-maps-api-3,Jquery,Google Maps,Google Maps Api 3,我希望用户按下一个按钮,AJAX加载将加载Google地图。我有几个问题。首先,我应该将脚本API键放在哪里。在原始文件还是AJAX文件中?其次,我不确定要写什么来加载GoogleMaps事件初始值设定项。这是代码 第一档 <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=mykey&sensor=false&libraries=drawing"> </s

我希望用户按下一个按钮,AJAX加载将加载Google地图。我有几个问题。首先,我应该将脚本API键放在哪里。在原始文件还是AJAX文件中?其次,我不确定要写什么来加载GoogleMaps事件初始值设定项。这是代码

第一档

<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?key=mykey&sensor=false&libraries=drawing">
</script>

<div id="themapsection">

<input type="button" id="tour_dates" Value="Show Tour Dates" />

<script type="text/javascript" >

$(document).ready(function() {
  $('#tour_dates').click(function () {
  var theid = <?php echo $user_id; ?>;  
  $('#map_canvas').load(
  'ajax_map_tour_data.php', 
  {session_user_id: theid},
  function() {  google.maps.event.addDomListener(window, 'load', initialize)})
;});});

</script>

</div>

<div id="map_canvas"></div>

尝试在ajax加载(成功)事件中调用initialize函数

$(文档).ready(函数(){
$(“#巡演日期”)。单击(函数(){
var theid=;
$(“#映射_画布”)。加载(
“ajax\u map\u tour\u data.php”,
{session_user_id:theid},
初始化
);
});
});

您能更具体一点吗?抱歉,这是我第一次使用包含javascript的ajax文件,更不用说google maps api了。我重写了我认为是答案的内容,但在
#map_canvas
中仍然没有呈现任何内容。我认为
(窗口'load',initialize)
阻止了AJAX调用的工作,对吗?当然,Google地图内容不是这样加载的?你需要使用像
map=newgoogle.maps.map(canvas,…)这样的语句
marker=newgoogle.maps.marker({map:map,…})
。ajax请求应该使用
$.ajax(…)
,而不是
.load()
,请求的脚本应该返回数据,通常是JSON编码的。ajax成功处理程序应该解释数据,并执行
google.maps…
语句来指定映射及其覆盖。有了这个目标,您就不需要ajax了。相反,将所有地图初始化语句包装在一个函数中,该函数在用户单击按钮时被调用。例如,
$(document).ready(函数(){$('#tour_dates')。单击(函数(){var map=new google.maps.map($('#map_canvas')[0],options);//此处的其他google.maps语句})
  google.maps.event.addDomListener(window, 'load', initialize);
$(document).ready(function() {
  $('#tour_dates').click(function () {
    var theid = <?php echo $user_id; ?>;  
    $('#map_canvas').load(
      'ajax_map_tour_data.php', 
      {session_user_id: theid},
      initialize
    );
  });
});