【问题标题】:CartoDb + Google Maps PolygonCartoDb + 谷歌地图多边形
【发布时间】:2015-02-24 10:24:47
【问题描述】:

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

问题是,加载了两张地图,彼此重叠。一种是 cartodb 折线,另一种是多边形。我需要他们在同一张地图上。不知道我做错了什么。

    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;

【问题讨论】:

    标签: javascript google-maps cartodb


    【解决方案1】:

    我的错。

     map = new google.maps.Map(document.getElementById('map'),  mapOptions);
    

    有两次。

    【讨论】:

      猜你喜欢
      • 2012-07-01
      • 1970-01-01
      • 2011-12-03
      • 2012-06-15
      • 2013-02-03
      • 2012-09-12
      • 2011-07-15
      • 2016-08-10
      相关资源
      最近更新 更多