首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CartoDb +谷歌地图多边形

CartoDb +谷歌地图多边形
EN

Stack Overflow用户
提问于 2015-02-24 18:24:48
回答 1查看 364关注 0票数 0

我正在使用cartodb(谷歌地图)绘制折线,然后在谷歌地图中插入一个多边形。

问题是,两个地图加载在彼此的顶部。一个包含cartodb多段线,另一个包含多边形。我需要他们出现在同一张地图上。不确定我做错了什么。

代码语言:javascript
复制
    function main() {
        var map;
        var sql;        // sql query object for querying CartoDB SQL API
        var sublayers = [];
      // create google maps map
      var mapOptions = {
        zoom: 12,
        center: new google.maps.LatLng(26.178347,50.6116694),
        mapTypeId: google.maps.MapTypeId.HYBRID,
        panControl: true,
        panControlOptions: {
        position: google.maps.ControlPosition.TOP_RIGHT
        },
        zoomControl: true,
        zoomControlOptions: {
        style: google.maps.ZoomControlStyle.LARGE,
        position: google.maps.ControlPosition.TOP_RIGHT
        },
        };
      map = new google.maps.Map(document.getElementById('map'),  mapOptions);
      // create layer and add to the map, then add some interactive elements
      cartodb.createLayer(map, 'http://zbahrain.cartodb.com/api/v2/viz/f5073bec-b841-11e4-b79c-0e4fddd5de28/viz.json')
      .addTo(map)
      .on('done', function(layer) {
       var subLayerOptions = {
      sql: "SELECT * FROM roadscomplete where block = '525'"}
      var sublayer = layer.getSubLayer(0);
      sublayer.set(subLayerOptions);
       sublayers.push(sublayer);

        sublayer.on('error', function(err) {
          cartodb.log.log('error: ' + err);
        });

      })
      .on('error', function() {
        cartodb.log.log("some error occurred");
      });

      map = new google.maps.Map(document.getElementById('map'),  mapOptions);
 // Define the LatLng coordinates for the polygon's path.
     var triangleCoords = [ new google.maps.LatLng(26.1750729378,50.5527011926),new google.maps.LatLng(26.1750278514,50.5528370586),new google.maps.LatLng(26.1749037197,50.5527864969),new google.maps.LatLng(26.1749497896,50.5526475251),new google.maps.LatLng(26.1750711189,50.5526969966),new google.maps.LatLng(26.1750729378,50.5527011926),  ];

// Construct the polygon.
var bermudaTriangle = new google.maps.Polygon({
paths: triangleCoords,
strokeColor: '#FFF',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#EA4A38',
fillOpacity: 0.75
 });

 bermudaTriangle.setMap(map);
 map.setMap(map);

    }

  window.onload = main;
EN

回答 1

Stack Overflow用户

发布于 2015-02-24 18:51:37

是我的错。

代码语言:javascript
复制
 map = new google.maps.Map(document.getElementById('map'),  mapOptions);

有没有两次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28693256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档