【问题标题】:Multilayer google fusion table enable MapTips多层谷歌融合表启用地图提示
【发布时间】:2012-11-13 21:10:30
【问题描述】:

我已经在下面的代码上工作了一段时间,当鼠标悬停在标记上时,我无法让 MapTips 为标记工作。

<html>
<head>
<style>
  #map_canvas { width: 500px; height: 400px; }
</style>
<link href="../stylesheet.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="http://gmaps-utility-gis.googlecode.com/svn/trunk/fusiontips/src/fusiontips_compiled.js"></script>
<script type="text/javascript">
var map;

var layer;
var tableid = 5463275;

var layer2;
var tableid2 = 5492676;

function initialize() {
  map = new google.maps.Map(document.getElementById('map_canvas'), {
    center: new google.maps.LatLng(51.500000, -0.090000),
    zoom: 9,
    mapTypeControl: false,
    mapTypeId: google.maps.MapTypeId.TERRAIN
  });

  layer = new google.maps.FusionTablesLayer(tableid, {
  suppressInfoWindows: true
});
  layer.setQuery("SELECT 'geometry' FROM " + tableid);
  layer.setMap(map);

  layer2 = new google.maps.FusionTablesLayer(tableid2);
  layer2.setQuery("SELECT 'Full Address' FROM " + tableid2);
  layer2.setMap(map);
  layer2.enableMapTips({
                select: "'Site Name'",
                from: tableid, 
                geometryColumn: 'Full Address', 
                suppressMapTips: false, 
                delay: 100, 
                tolerance: 6 });

  var legendDiv = document.createElement('DIV');
  var legend = new Legend(legendDiv, map);
  legendDiv.index = 1;
  map.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(legendDiv);
}


</script>

</head>
<body onLoad="initialize();">

<div id="map_canvas"></div>
</body>
</html>​

地图由两个融合表层组成 - 我已链接到包含以下标记数据的表:

Fusion Table for Markers

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript google-maps-api-3 google-fusion-tables


    【解决方案1】:

    您错过了 'Full Address' 周围的引号,因此查询未正确编码并引发错误。我放了一个working example on jsFiddle

    这里是更正的部分:

    layer2.enableMapTips({
        select: "'Site Name'",
        from: tableid, 
        geometryColumn: "'Full Address'", 
        suppressMapTips: false, 
        delay: 100, 
        tolerance: 6 
    });
    

    首先,我尝试更新您的代码以使用加密的表 ID,但似乎 FusionTips script 尚不支持。

    【讨论】:

    • 这么小的东西会让人头疼。虽然我是新手,但我应该知道的更好!非常感谢:)
    • 如果我的回答解决了你的问题,please consider to accept it。谢谢!
    • 谢谢你,奥迪。很抱歉在接受您的解决方案时出现延迟,因为这是不久前的事了,我确实使用了您的解决方案....非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    相关资源
    最近更新 更多