Using Data String Method | |||||||||||||||||||||
FusionMaps XT can effectively be used with PHP to plot data over geographic locations. In this section and the following, we'll show examples on how to plot data on FusionMaps XT using various methods in PHP. Even when used with PHP, FusionMaps XT internally uses JavaScript and XML/JSON to render the maps. The PHP Class code actually helps you output this JavaScript and XML/JSON. To aid your understanding of this section, we will recommend you to go through the following sections of documentation (if you have not already read them):
|
|||||||||||||||||||||
In this section, we will show a few basic examples to help you get started. We'll cover following examples here:
|
|||||||||||||||||||||
Sample: Using Data String method | |||||||||||||||||||||
|
|||||||||||||||||||||
The code discussed here is present in Download Package > Code > PHP > BasicExample folder. | |||||||||||||||||||||
We will be displaying the population of the continents using FusionMaps XT in this example. Here is the PHP code that has been used in the example. | |||||||||||||||||||||
Creating World Population Map from the data stored in an array | |||||||||||||||||||||
BasicMapsArray.php contains the following code: |
|||||||||||||||||||||
<HTML> |
|||||||||||||||||||||
Steps involved in this code | |||||||||||||||||||||
First, we included two files:
|
|||||||||||||||||||||
<?php ... include("../Includes/FusionCharts.php"); ?> <script language="javascript" src="../../Maps/FusionCharts.js"></script> ... |
|||||||||||||||||||||
These two files contain functions to embed the map easily. | |||||||||||||||||||||
Then we declared an array $dataArray to store the population data for 8 continents. This is a 2-dimensional array, where the first column stores the Internal ID for all the continents and the second column stores respective population data. | |||||||||||||||||||||
Internal ID is a field which helps to identify each part of a map uniquely. Please go through the Map Specification Sheet to know the Internal IDs for each map used in FusionMaps XT. | |||||||||||||||||||||
// Internal IDs of continents & respective population $dataArray[0][1]="01"; // Asia $dataArray[0][2]="3779000000"; // Population $dataArray[1][1]="02"; // Europe $dataArray[1][2]="727000000";// Population $dataArray[2][1]="03"; // Africa $dataArray[2][2]="877500000";// Population $dataArray[3][1]="04"; // North America $dataArray[3][2]="421500000";// Population $dataArray[4][1]="05"; // South America $dataArray[4][2]="379500000";// Population $dataArray[5][1]="06"; // Central America $dataArray[5][2]="80200000";// Population $dataArray[6][1]="07"; // Oceania $dataArray[6][2]="32000000";// Population $dataArray[7][1]="08"; // Middle East $dataArray[7][2]="179000000";// Population |
|||||||||||||||||||||
We defined a variable $strXML to store the entire XML data. | |||||||||||||||||||||
$strXML=""; // Opening MAP element $strXML = "<map showLabels='1' includeNameInLabels='1' borderColor='FFFFFF' fillAlpha='80' showBevel='0' legendPosition='Bottom' >"; |
|||||||||||||||||||||
The following code is used to define the color range for the map entities. Different colors show different range of population. The first range is for the regions where population ranges from 0 to 100000000 and it is shown in Red. The second range is for the regions where population ranges from 100000000 to 500000000 and it is shown in Yellow. The third range is from 500000000 to 1000000000 in dark green and the fourth range is 1000000000 and above in light green color. | |||||||||||||||||||||
// Setting Color ranges : 4 color ranges for population ranges $strXML .= "<colorRange>"; $strXML .= "<color minValue='1' maxValue='100000000' displayValue='Population : Below 100 M' color='CC0001' />"; $strXML .= "<color minValue='100000000' maxValue='500000000' displayValue='Population :100 - 500 M' color='FFD33A' />"; $strXML .= "<color minValue='500000000' maxValue='1000000000' displayValue='Population :500 - 1000 M' color='069F06' />"; $strXML .= "<color minValue='1000000000' maxValue='5000000000' displayValue='Population : Above 1000 M' color='ABF456' />"; $strXML .= "</colorRange><data>"; |
|||||||||||||||||||||
Next we added the map data in <entity> elements iterating through the array elements. We use for loop for this. | |||||||||||||||||||||
// Opening data element that will store map data // Using Data from array for each entity for($i=0;$i<=7;$i++){ $strXML .= "<entity id='" . $dataArray[$i][1] . "' value='" . $dataArray[$i][2] . "' />"; } // closing data element $strXML .= "</data>"; // closing map element $strXML .= "</map>"; |
|||||||||||||||||||||
Finally, we called renderChart() function and pass $strXML as Data String to render the map. | |||||||||||||||||||||
print renderChart("../../Maps/FCMap_World8.swf","",$strXML,"firstMap", 750, 460,0,0); | |||||||||||||||||||||
FusionCharts.php contains the function renderChart(). This helps us create the map simply by passing few parameters in a predefined sequence. The renderChart() function accepts following parameters in the same order as they are presented below: | |||||||||||||||||||||
Advanced note : Apart from renderChart()function, FusionCharts.php provides a number of functions (listed below) to ease your implementation.
|
|||||||||||||||||||||
Below is the screenshot of the map used for this example. | |||||||||||||||||||||
Existing users: Use of FusionMaps.php is deprecated. Use FusionCharts.php instead. However, after upgrading to FusionMaps XT, your existing implementations using FusionMaps.php will continue to work without any problem. |