2017-10-19 9 views
-1

私はコーディングにはとても新しいので、以前はまったく同じことをしていませんでしたが、私が見ることもできるカスタムマップを作成する作業がありましたいくつかのマーカー。私はマーカーとカスタムスタイルの別のマップを示すマップを作成するのに成功しました。しかし、私はこれらの2つをどのように組み合わせるかを理解できません。Google Maps API - スタイルマップレイヤーにフュージョンテーブルレイヤーを追加する

現在、私はこのスタイルマップを表示しますが、マーカーは表示しません。ここから移動する方法については完全にわかりません。

function initMap() { 

var styledMapType = new google.maps.StyledMapType(
    [ 
    {elementType: 'geometry', stylers: [{color: '#C6BBB2'}]}, 
    {elementType: 'labels.text.fill', stylers: [{color: '#523735'}]}, 
    {elementType: 'labels.text.stroke', stylers: [{color: '#f5f1e6'}]}, 
    { 
     featureType: 'administrative', 
     elementType: 'geometry.stroke', 
     stylers: [{color: '#C6BBB2'}] 
    }, 
    { 
     featureType: 'administrative.land_parcel', 
     elementType: 'geometry.stroke', 
     stylers: [{color: '#dcd2be'}] 
    }, 
    { 
     featureType: 'administrative.land_parcel', 
     elementType: 'labels.text.fill', 
     stylers: [{color: '#ae9e90'}] 
    }, 
    { 
     featureType: 'landscape.natural', 
     elementType: 'geometry', 
     stylers: [{color: '#C1B4AB'}] 
    }, 
    { 
     featureType: 'poi', 
     elementType: 'geometry', 
     stylers: [{color: '#C6BBB2'}] 
    }, 
    { 
     featureType: 'poi', 
     elementType: 'labels.text.fill', 
     stylers: [{color: '#93817c'}] 
    }, 
    { 
     featureType: 'poi.park', 
     elementType: 'geometry.fill', 
     stylers: [{color: '#D3D3D3'}] 
    }, 
    { 
     featureType: 'poi.park', 
     elementType: 'labels.text.fill', 
     stylers: [{color: '#788F88'}] 
    }, 
    { 
     featureType: 'road', 
     elementType: 'geometry', 
     stylers: [{color: '#FFB9C5'}] 
    }, 
    { 
     featureType: 'road.arterial', 
     elementType: 'geometry', 
     stylers: [{color: '#FFB9C5'}] 
    }, 
    { 
     featureType: 'road.highway', 
     elementType: 'geometry', 
     stylers: [{color: '#FFB9C5'}] 
    }, 
    { 
     featureType: 'road.highway', 
     elementType: 'geometry.stroke', 
     stylers: [{color: '#FF6D82'}] 
    }, 
    { 
     featureType: 'road.highway.controlled_access', 
     elementType: 'geometry', 
     stylers: [{color: '#FFB9C5'}] 
    }, 
    { 
     featureType: 'road.highway.controlled_access', 
     elementType: 'geometry.stroke', 
     stylers: [{color: '#FF906D'}] 
    }, 
    { 
     featureType: 'road.local', 
     elementType: 'labels.text.fill', 
     stylers: [{color: '#806b63'}] 
    }, 
    { 
     featureType: 'transit.line', 
     elementType: 'geometry', 
     stylers: [{color: '#dfd2ae'}] 
    }, 
    { 
     featureType: 'transit.line', 
     elementType: 'labels.text.fill', 
     stylers: [{color: '#8f7d77'}] 
    }, 
    { 
     featureType: 'transit.line', 
     elementType: 'labels.text.stroke', 
     stylers: [{color: '#ebe3cd'}] 
    }, 
    { 
     featureType: 'transit.station', 
     elementType: 'geometry', 
     stylers: [{color: '#C6BBB2'}] 
    }, 
    { 
     featureType: 'water', 
     elementType: 'geometry.fill', 
     stylers: [{color: '#BAC6C2'}] 
    }, 
    { 
     featureType: 'water', 
     elementType: 'labels.text.fill', 
     stylers: [{color: '#BAC6C2'}] 
    } 
    ], 
    {name: 'Styled Map'}); 

var map = new google.maps.Map(document.getElementById('map'), { 
center: {lat: 59.329314, lng: 18.068579}, 
zoom: 10, 
mapTypeControlOptions: { 
    mapTypeIds: ['roadmap', 'satellite', 'hybrid', 'terrain', 
      'styled_map'] 
} 
}); 
map.mapTypes.set('styled_map', styledMapType); 
map.setMapTypeId('styled_map'); 
} 

var layer = new google.maps.FusionTablesLayer({ 
query: { 
    select: 'X', 
    from: '1GofM5ligrJNdXrv3wtJ8FMVeHIS5uGMJ85-SzoCF' 
    } 
    }); 

私はこの非常に新しいので非常に感謝します。

答えて

2

レイヤーインスタンスはinitMap関数内にある必要があり、そのレイヤーのマップを設定する必要があります。

var layer = new google.maps.FusionTablesLayer({ 
    query: { 
     select: 'X', 
     from: '1GofM5ligrJNdXrv3wtJ8FMVeHIS5uGMJ85-SzoCF' 
    } 
}); 

layer.setMap(map); 

ここで働くの例を参照してください:ここではhttp://jsbin.com/yajuxoj/edit?html,css,js,output

は、サンプルアプリケーションのコードで、あなたも見てコードスニペットを実行して、ここにサンプルを確認することができます。

function initMap() { 
 

 
    var styledMapType = new google.maps.StyledMapType(
 
     [{ 
 
       elementType: 'geometry', 
 
       stylers: [{ 
 
        color: '#C6BBB2' 
 
       }] 
 
      }, 
 
      { 
 
       elementType: 'labels.text.fill', 
 
       stylers: [{ 
 
        color: '#523735' 
 
       }] 
 
      }, 
 
      { 
 
       elementType: 'labels.text.stroke', 
 
       stylers: [{ 
 
        color: '#f5f1e6' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'administrative', 
 
       elementType: 'geometry.stroke', 
 
       stylers: [{ 
 
        color: '#C6BBB2' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'administrative.land_parcel', 
 
       elementType: 'geometry.stroke', 
 
       stylers: [{ 
 
        color: '#dcd2be' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'administrative.land_parcel', 
 
       elementType: 'labels.text.fill', 
 
       stylers: [{ 
 
        color: '#ae9e90' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'landscape.natural', 
 
       elementType: 'geometry', 
 
       stylers: [{ 
 
        color: '#C1B4AB' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'poi', 
 
       elementType: 'geometry', 
 
       stylers: [{ 
 
        color: '#C6BBB2' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'poi', 
 
       elementType: 'labels.text.fill', 
 
       stylers: [{ 
 
        color: '#93817c' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'poi.park', 
 
       elementType: 'geometry.fill', 
 
       stylers: [{ 
 
        color: '#D3D3D3' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'poi.park', 
 
       elementType: 'labels.text.fill', 
 
       stylers: [{ 
 
        color: '#788F88' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'road', 
 
       elementType: 'geometry', 
 
       stylers: [{ 
 
        color: '#FFB9C5' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'road.arterial', 
 
       elementType: 'geometry', 
 
       stylers: [{ 
 
        color: '#FFB9C5' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'road.highway', 
 
       elementType: 'geometry', 
 
       stylers: [{ 
 
        color: '#FFB9C5' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'road.highway', 
 
       elementType: 'geometry.stroke', 
 
       stylers: [{ 
 
        color: '#FF6D82' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'road.highway.controlled_access', 
 
       elementType: 'geometry', 
 
       stylers: [{ 
 
        color: '#FFB9C5' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'road.highway.controlled_access', 
 
       elementType: 'geometry.stroke', 
 
       stylers: [{ 
 
        color: '#FF906D' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'road.local', 
 
       elementType: 'labels.text.fill', 
 
       stylers: [{ 
 
        color: '#806b63' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'transit.line', 
 
       elementType: 'geometry', 
 
       stylers: [{ 
 
        color: '#dfd2ae' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'transit.line', 
 
       elementType: 'labels.text.fill', 
 
       stylers: [{ 
 
        color: '#8f7d77' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'transit.line', 
 
       elementType: 'labels.text.stroke', 
 
       stylers: [{ 
 
        color: '#ebe3cd' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'transit.station', 
 
       elementType: 'geometry', 
 
       stylers: [{ 
 
        color: '#C6BBB2' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'water', 
 
       elementType: 'geometry.fill', 
 
       stylers: [{ 
 
        color: '#BAC6C2' 
 
       }] 
 
      }, 
 
      { 
 
       featureType: 'water', 
 
       elementType: 'labels.text.fill', 
 
       stylers: [{ 
 
        color: '#BAC6C2' 
 
       }] 
 
      } 
 
     ], { 
 
      name: 'Styled Map' 
 
     }); 
 

 
    var map = new google.maps.Map(document.getElementById('map'), { 
 
     center: { 
 
      lat: 59.329314, 
 
      lng: 18.068579 
 
     }, 
 
     zoom: 10, 
 
     mapTypeControlOptions: { 
 
      mapTypeIds: ['roadmap', 'satellite', 'hybrid', 'terrain', 
 
       'styled_map' 
 
      ] 
 
     } 
 
    }); 
 

 
    map.mapTypes.set('styled_map', styledMapType); 
 
    map.setMapTypeId('styled_map'); 
 
    
 
    var layer = new google.maps.FusionTablesLayer({ 
 
     query: { 
 
      select: 'X', 
 
      from: '1GofM5ligrJNdXrv3wtJ8FMVeHIS5uGMJ85-SzoCF' 
 
     } 
 
    }); 
 
    layer.setMap(map); 
 
}
#map { 
 
    height: 500px; 
 
    width: 500px; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <title>Sample</title> 
 
</head> 
 

 
<body> 
 
    <div id="map"></div> 
 
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCKQX3cyZ7pVKmBwE8wiowivW9qH62AVk8&callback=initMap" async defer></script> 
 
</body> 
 

 
</html>

+0

ありがとうございました!魅力的な作品! – Nattpappa

+0

私の答えがあなたを助けたら、私の答えを受け入れることもできるので、私と他の人にも役立つでしょう:) –

関連する問題