2017-03-29 5 views
0

Je crée des cartes de chaleur montrant les comptes par comté en utilisant des données KML via l'API en utilisant PHP. La création des tables, des styles et des modèles fonctionne comme prévu. Lorsque vous affichez les cartes de mon Google Drive et que vous les ouvrez à l'aide de Fusion Tables, elles s'affichent correctement. Ce qui signifie, les cartes montrent les couleurs de polygones variables pour chaque comté en fonction du nombre et des buckets que j'ai créés via l'API.Google Fusion Tableau thermique carte iFrame incorporé n'affiche pas les couleurs de polygone

Cependant, je voudrais afficher ces cartes sur différentes pages Web en utilisant le iFrame intégré. Selon la documentation, l'intégration utilise le style par défaut. Lequel, arrive à être celui que j'ai créé pour cela. Cependant, lors de l'affichage de la page avec la carte incorporée, les polygones apparaissent mais ne sont pas colorés en fonction des comptages (qui indiquent si vous cliquez sur un polygone). Ce n'est que lorsque j'entre dans la carte via l'interface Web, cliquez sur Publier, que les couleurs commencent à apparaître sur la page incorporée. Je remarque aussi un autre style en cours de création mais c'est un doublon de ce que j'avais déjà (ci-dessous).

Donc les questions sont: Quelqu'un at-il rencontré ce problème? Existe-t-il un moyen de définir la publication via l'API en utilisant PHP? Toute suggestion serait utile.

le style d'abord créé par l'API

Google_Service_Fusiontables_StyleSettingList {#1164 
    #collection_key: "items" 
    #itemsType: "Google_Service_Fusiontables_StyleSetting" 
    #itemsDataType: "array" 
    +kind: "fusiontables#styleSettingList" 
    +nextPageToken: null 
    +totalItems: 1 
    #internal_gapi_mappings: [] 
    #modelData: array:1 [ 
    "items" => array:1 [ 
     0 => array:4 [ 
     "kind" => "fusiontables#styleSetting" 
     "tableId" => "1v0Q9grONGtJZAolcaBNLoQh691onorw0GVthYyiL" 
     "styleId" => 1 
     "polygonOptions" => array:1 [ 
      "fillColorStyler" => array:3 [ 
      "kind" => "fusiontables#buckets" 
      "columnName" => "Count" 
      "buckets" => array:5 [ 
       0 => array:4 [ 
       "min" => 0.0 
       "max" => 25.0 
       "color" => "#0000ff" 
       "opacity" => 0.5 
       ] 
       1 => array:4 [ 
       "min" => 25.0 
       "max" => 57.0 
       "color" => "#33ffff" 
       "opacity" => 0.5 
       ] 
       2 => array:4 [ 
       "min" => 57.0 
       "max" => 161.0 
       "color" => "#ffff00" 
       "opacity" => 0.5 
       ] 
       3 => array:4 [ 
       "min" => 161.0 
       "max" => 365.0 
       "color" => "#ff6600" 
       "opacity" => 0.5 
       ] 
       4 => array:4 [ 
       "min" => 365.0 
       "max" => 20000.0 
       "color" => "#ff0000" 
       "opacity" => 0.5 
       ] 
      ] 
      ] 
     ] 
     ] 
    ] 
    ] 
    #processed: [] 
} 

style Second ajouté après l'utilisation de la console carte et publier

Google_Service_Fusiontables_StyleSettingList {#1164 
    #collection_key: "items" 
    #itemsType: "Google_Service_Fusiontables_StyleSetting" 
    #itemsDataType: "array" 
    +kind: "fusiontables#styleSettingList" 
    +nextPageToken: null 
    +totalItems: 2 
    #internal_gapi_mappings: [] 
    #modelData: array:1 [ 
    "items" => array:2 [ 
     0 => array:4 [ 
     "kind" => "fusiontables#styleSetting" 
     "tableId" => "1v0Q9grONGtJZAolcaBNLoQh691onorw0GVthYyiL" 
     "styleId" => 1 
     "polygonOptions" => array:1 [ 
      "fillColorStyler" => array:3 [ 
      "kind" => "fusiontables#buckets" 
      "columnName" => "Count" 
      "buckets" => array:5 [ 
       0 => array:4 [ 
       "min" => 0.0 
       "max" => 25.0 
       "color" => "#0000ff" 
       "opacity" => 0.5 
       ] 
       1 => array:4 [ 
       "min" => 25.0 
       "max" => 57.0 
       "color" => "#33ffff" 
       "opacity" => 0.5 
       ] 
       2 => array:4 [ 
       "min" => 57.0 
       "max" => 161.0 
       "color" => "#ffff00" 
       "opacity" => 0.5 
       ] 
       3 => array:4 [ 
       "min" => 161.0 
       "max" => 365.0 
       "color" => "#ff6600" 
       "opacity" => 0.5 
       ] 
       4 => array:4 [ 
       "min" => 365.0 
       "max" => 20000.0 
       "color" => "#ff0000" 
       "opacity" => 0.5 
       ] 
      ] 
      ] 
     ] 
     ] 
     1 => array:5 [ 
     "kind" => "fusiontables#styleSetting" 
     "tableId" => "1v0Q9grONGtJZAolcaBNLoQh691onorw0GVthYyiL" 
     "styleId" => 2 
     "name" => "Map of Geometry" 
     "polygonOptions" => array:1 [ 
      "fillColorStyler" => array:3 [ 
      "kind" => "fusiontables#buckets" 
      "columnName" => "Count" 
      "buckets" => array:5 [ 
       0 => array:4 [ 
       "min" => 0.0 
       "max" => 25.0 
       "color" => "#0000ff" 
       "opacity" => 0.5 
       ] 
       1 => array:4 [ 
       "min" => 25.0 
       "max" => 57.0 
       "color" => "#33ffff" 
       "opacity" => 0.5 
       ] 
       2 => array:4 [ 
       "min" => 57.0 
       "max" => 161.0 
       "color" => "#ffff00" 
       "opacity" => 0.5 
       ] 
       3 => array:4 [ 
       "min" => 161.0 
       "max" => 365.0 
       "color" => "#ff6600" 
       "opacity" => 0.5 
       ] 
       4 => array:4 [ 
       "min" => 365.0 
       "max" => 20000.0 
       "color" => "#ff0000" 
       "opacity" => 0.5 
       ] 
      ] 
      ] 
     ] 
     ] 
    ] 
    ] 
    #processed: [] 
} 

Répondre

0

Après avoir parlé avec une technologie Google, je trouve le code iFrame utilise une variable « y "Cela représente l'identifiant de style. Donc, en créant un style via l'API et en recevant le nouvel identifiant, vous pouvez ensuite l'utiliser dans le code iFrame de la carte pour vous assurer que le bon style est assigné.

<iframe width="700" height="500" scrolling="no" frameborder="no" src="https://fusiontables.google.com/embedviz?q=select+col2+from+{{ $project->fusion_table_id }}&amp;viz=MAP&amp;h=false&amp;lat=34.72404554786575&amp;lng=-93.08009375000002&amp;t=1&amp;z=3&amp;l=col2&amp;y={{ $project->fusion_style_id }}&amp;tmplt={{ $project->fusion_template_id }}&amp;hml=GEOCODE"></iframe>