0

3 つの異なる文字列値を持つ列に応じて、異なるマーカー スタイルを適用したいと思います。スクリプトでスタイルが定義されていない場合は FT スタイルが使用されますが、条件付きロジックが実装されている場合、マップは「データがまだ読み込まれている可能性があります」というラベルの付いたレイヤーを取得し、エラーは発生しません。

コードは次のとおりです。

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
        var map,layer;
        google.load('maps', '3', { other_params: 'sensor=false' });
        google.setOnLoadCallback(function(){
        var cp = new google.maps.LatLng(42.87, 74.57);
        map = new google.maps.Map(document.getElementById('map'), {
          center: cp,
          zoom: 7,
          mapTypeId: 'roadmap'
        });
        layer = new google.maps.FusionTablesLayer({
          query: { select: 'Locations (oblast, rayon, village)', from: '2825956' },
          // if the styles definition below exists map doesn't get any data layer applied
          styles: [
            { markerOptions: { iconName: 'wht_blank'} },
                { where: "'Thematic area' = 'Environment and Sustainable development'", markerOptions: { iconName: 'grn_blank' }},
                { where: "'Thematic area' = 'Democratic Governance Programme'", markerOptions: { iconName: 'blu_blank' }},
                { where: "'Thematic area' = 'Poverty Reduction'", markerOptions: { iconName: 'red_blank' }}
            ]
        });
        layer.setMap(map);
    });
</script>
4

1 に答える 1

1

FT スタイリングを使用していることを確認できてうれしいです。それは素晴らしい機能です。

コードの問題は 1 つだけです。テーブルで探している列は、実際には と呼ばれていますLocations

クエリを次のように変更します。

query: { select: 'Locations', from: '2825956' },

そしてすべてが機能します。

于 2012-02-08T21:18:13.840 に答える