Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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 融合表和地图w/侧栏:非洲地图样本中从数字到加密的ID_Javascript_Google Maps Api 3_Google Fusion Tables_Sidebar - Fatal编程技术网

Javascript 融合表和地图w/侧栏:非洲地图样本中从数字到加密的ID

Javascript 融合表和地图w/侧栏:非洲地图样本中从数字到加密的ID,javascript,google-maps-api-3,google-fusion-tables,sidebar,Javascript,Google Maps Api 3,Google Fusion Tables,Sidebar,感谢所有帮助我学习的人 我不得不根据客户反馈更改以前的映射,现在我正尝试重新创建以下API v3示例:来自@geocodezip的Fusion Tables Layer示例: 我已经仔细地将原始代码复制、粘贴并更改到我的页面中,但我遇到了以下问题: a。信息窗口不会被抑制,也不会创建新窗口 b。单击侧边栏中的项目对地图没有影响 我猜想这与新的查询语法和加密的ID有关,而非洲地图的示例代码是基于数字ID的。我想我搞砸了 我的问题是:如何更改/更新代码,使我的地图功能与非洲地图示例类似?谢谢大家!

感谢所有帮助我学习的人

我不得不根据客户反馈更改以前的映射,现在我正尝试重新创建以下API v3示例:来自@geocodezip的Fusion Tables Layer示例:

我已经仔细地将原始代码复制、粘贴并更改到我的页面中,但我遇到了以下问题:

a。信息窗口不会被抑制,也不会创建新窗口

b。单击侧边栏中的项目对地图没有影响

我猜想这与新的查询语法和加密的ID有关,而非洲地图的示例代码是基于数字ID的。我想我搞砸了

我的问题是:如何更改/更新代码,使我的地图功能与非洲地图示例类似?谢谢大家!

我的地图:

我的融合表:

我认为是相关代码:

function createSidebar() {
  // https://www.google.com/fusiontables/api/query?sql=SELECT%20ROWID,%20%2A%20FROM%20564705

  //set the query using the parameter
  var queryText = encodeURIComponent("http://www.google.com/fusiontables/gvizdata?tq=SELECT * FROM 1DxjRqzjtC7-Oryt8N9ZaJ0n1IXRllDjodnbEJYo");
  var query = new google.visualization.Query(queryText);
  var queryText = encodeURIComponent("SELECT 'Description', 'Network', 'Contact', 'Email', 'Latitude', 'Longitude' FROM 1DxjRqzjtC7-Oryt8N9ZaJ0n1IXRllDjodnbEJYo");
  var query = new google.visualization.Query('http://www.google.com/fusiontables/gvizdata?tq='  + queryText);


  //set the callback function
  query.send(getData);

}
以及:


信息窗口正在被抑制。您的代码中有一个“单击”侦听器,可使其显示:

  google.maps.event.addListener(layer, "click", function(event) {
    infoWindow.close();
    infoWindow.setContent(event.infoWindowHtml);
    infoWindow.setPosition(event.latLng);
    infoWindow.open(map);
  });

我的Javascript错误似乎与我从Fusion表中调用的列数有关。进行了这些修复,并且工作正常:

var queryText = encodeURIComponent("SELECT 'Description', 'Network', 'Contact', 'Website', 'Email', 'Latitude', 'Longitude' FROM 1DxjRqzjtC7-Oryt8N9ZaJ0n1IXRllDjodnbEJYo");
后来:

function myFTclick(row) {
   var Description = FTresponse.getDataTable().getValue(row,0);
   var Network = FTresponse.getDataTable().getValue(row,1);
   var Contact = FTresponse.getDataTable().getValue(row,3);
   var Email = FTresponse.getDataTable().getValue(row,4);
   var lat =  FTresponse.getDataTable().getValue(row,5);
   var lng =  FTresponse.getDataTable().getValue(row,6);
   var position = new google.maps.LatLng(lat, lng);

我可以通过使用列值来运行它-例如,getValuerow,x-尽管我不知道如何找到x的正确数值。我是通过反复试验来完成的。

首先修复javascript错误:警告:您已多次在此页面上包含Google Maps API。这可能会导致意外错误。main.js:90.Uncaught错误:列索引6无效。应为[0-5]范围内的整数。format+en,默认值,geomap,table,corechart.I.js:60OK,在上面。将更新。@geocodezip:您使用哪个工具处理javascript错误?我正在尝试JSlint。在Chrome、Firefox或IE中使用javascript控制台,具体取决于我的位置和测试内容。谢谢!一些尝试和错误修复了它,我让边栏工作!惊人。列号由查询变量queryText=encodeuricomponent从1DxjRqzjtC7-Oryt8N9ZaJ0n1IXRllDjodnbEJYo中选择“描述”、“网络”、“联系人”、“网站”、“电子邮件”、“纬度”、“经度”定义;,第0列是说明,第1列是网络,当然等等!:再次感谢。我试图把它从原始的融合表中找回来。
function myFTclick(row) {
   var Description = FTresponse.getDataTable().getValue(row,0);
   var Network = FTresponse.getDataTable().getValue(row,1);
   var Contact = FTresponse.getDataTable().getValue(row,3);
   var Email = FTresponse.getDataTable().getValue(row,4);
   var lat =  FTresponse.getDataTable().getValue(row,5);
   var lng =  FTresponse.getDataTable().getValue(row,6);
   var position = new google.maps.LatLng(lat, lng);