2

我正在尝试为 wordpress 创建一个插件,它只需要在帖子或页面创建中输入一组国家名称(很像标签),并使用 Google Maps APIv3 生成地图,突出显示所有国家(使用来自自然地球数据集),但我在寻找有关如何将这两种技术合并在一起的资源方面非常缺乏。

我非常熟悉 Google Maps API 以及如何使用 PHP 在 wordpress 中操作它,并且变量提供了 post 对象,但我似乎无法弄清楚如何将它与自然地球数据集中提供的数据合并。

我偶然发现了这些,但仍然无法弄清楚。

使用 Google Map API v3 的国家边界

Google Maps V3:绘制德国州多边形?

http://www.geocodezip.com/geoxml3_test/v3_FusionTables_query_sidebarF_local.html?country=Germany

最后一个链接非常接近我想要做的,除了多个国家,这只是以国家的形式添加更多 POI 的问题。但我不能让它在我的网站上工作。

有谁知道如何做到这一点的任何好的教程?或者更好的是,有没有人已经成功地完成了这种类型的事情?

这是我目前拥有的:

<head>

<script type="text/javascript"src="https://maps.googleapis.com/maps/api/&sensor=false"></script>

        <script type="text/javascript">
          function initialize() {
        map = new google.maps.Map(document.getElementById('map-canvas'), {
          center: new google.maps.LatLng(27.246933444275317, 318.515625),
          zoom: 2,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        });

        layer = new google.maps.FusionTablesLayer({
          map: map,
          heatmap: { enabled: false },
          query: {
            select: "col38",
            from: "19lLpgsKdJRHL2O4fNmJ406ri9JtpIIk8a-AchA",
            where: "col2 in (\x27CAN\x27, \x27MEX\x27, \x27USA\x27, \x27JPN\x27
    )"
          },
          options: {
            styleId: 9,
            templateId: 8
          }
        });
      }

      google.maps.event.addDomListener(window, 'load', initialize);
        </script>
<head>

<body>
      <div id="map-canvas" style="width: 100%; height: 400px;"></div>
</body>

谢谢,

4

1 回答 1

1

我认为您需要“IN”运算符:

例子

我建议使用“iso”列来减小查询字符串的大小。

你的代码对我有用

注意:我确实修复了这个“未终止的字符串”:

        where: "col2 in (\x27CAN\x27, \x27MEX\x27, \x27USA\x27, \x27JPN\x27
)"

允许选择多个国家的示例:

http://www.geocodezip.com/v3_FusionTables_MultiCountryBrowser.html?countries=阿富汗、阿尔巴尼亚、阿尔及利亚、巴西

于 2013-04-08T22:50:53.110 回答