如何设置Google Fusion Table Map的中心?

时间:2014-05-19 02:27:35

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

我使用以下示例代码嵌入Google Fusion Tables地图:

function initialize() {
            var map = new google.maps.Map(document.getElementById('map-canvas'), {
                center: new google.maps.LatLng(37.4, -122.1),
                zoom: 10,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            });

            var layer = new google.maps.FusionTablesLayer({
            query: {
                select: 'Address',
                from: // My table id,
            },
                map: map
            });
        }

        google.maps.event.addDomListener(window, 'load', initialize);

您可以从上面的代码中看到" center"设置为特定的长和纬度。如果我删除"中心"属性,它根本不渲染地图。

我正在寻找一些自动确定最佳位置的方法。我相信只使用一般的谷歌地图,您可以确定位置标记的边界并以此为中心?那么也许有办法从表中获取位置列表,然后从那里计算出边界?

注意:我了解嵌入地图还有其他选项,例如iframe,但在此项目中iframe不是我们的选项。此外,我知道您可以从"发布"中获取HTML / JS。 Fusion表中的选项,但要求用户能够仅使用表ID嵌入地图,这样他们就无法复制/粘贴任何HTML / JS。

1 个答案:

答案 0 :(得分:1)

如果您在外部对地址进行地理编码并在表格中包含坐标,则可以使用Fusion Tables API v1GViz (the google visualization API)查询表格,将坐标添加到google.maps.LatLngBounds object,然后使用居中并缩放地图,以google.maps.Map.fitBounds显示所有点。

example (using GViz)