Simple KML Navigator
Updated: Jul 17, 2007
Views: 8828
Description: Simple application that allows user to navigate through a kml file by using next and previous buttons.
| Download source files |
| |
Code used in the example above.
var layer = gMap.addKMLLayer({path:"http://www.afcomponents.com/components/g_map/Olympic_Host_Cities.kml"});
var geomCount:Number=0;
var geomSelected:Number=-1;
var geomArray:Array = new Array();
function onGeometryAdded(event:Object){
geomArray.push(event.target.getGeometryObjects()[geomCount]);
geomCount++;
}
// Add event listener to a layer
layer.addEventListener("LAYER_GEOMETRY_ADDED", onGeometryAdded);
// Assign event listener to the "Prev" button
controls_mc.prev_btn.addEventListener("click", onPrevButtonClick);
function onNextButtonClick(){
if((geomSelected+1) < geomArray.length){
geomSelected+=1;
geomArray[geomSelected].openInfoWindow();
gMap.setCenter({lat:geomArray[geomSelected].lat, lng:geomArray[geomSelected].lng});
displaySelectedTitle(geomArray[geomSelected].name);
displayCount();
}
}
// Assign event listener to the "Next" button
controls_mc.next_btn.addEventListener("click", onNextButtonClick);
function onPrevButtonClick(){
if(geomSelected > 0){
geomSelected-=1;
geomArray[geomSelected].openInfoWindow();
gMap.setCenter({lat:geomArray[geomSelected].lat, lng:geomArray[geomSelected].lng});
displaySelectedTitle(geomArray[geomSelected].name);
displayCount();
}
}
function displaySelectedTitle(title:String){
controls_mc.selected_txt.text = title;
}
function displayCount(){
controls_mc.count_txt.text = (geomSelected+1)+" of "+geomArray.length;
}
//Stage Settings
Stage.scaleMode = "noScale";
Stage.align = "TL";
gMap.setSize(Stage.width, Stage.height);
controls_mc._x = Math.round(Stage.width/2 - controls_mc._width /2);
controls_mc._y = Math.round(Stage.height-100);
function onResize(){
gMap.setSize(Stage.width, Stage.height);
controls_mc._x = Math.round(Stage.width/2 - controls_mc._width /2);
controls_mc._y = Math.round(Stage.height-100);
}
Stage.addListener(this);
var geomCount:Number=0;
var geomSelected:Number=-1;
var geomArray:Array = new Array();
function onGeometryAdded(event:Object){
geomArray.push(event.target.getGeometryObjects()[geomCount]);
geomCount++;
}
// Add event listener to a layer
layer.addEventListener("LAYER_GEOMETRY_ADDED", onGeometryAdded);
// Assign event listener to the "Prev" button
controls_mc.prev_btn.addEventListener("click", onPrevButtonClick);
function onNextButtonClick(){
if((geomSelected+1) < geomArray.length){
geomSelected+=1;
geomArray[geomSelected].openInfoWindow();
gMap.setCenter({lat:geomArray[geomSelected].lat, lng:geomArray[geomSelected].lng});
displaySelectedTitle(geomArray[geomSelected].name);
displayCount();
}
}
// Assign event listener to the "Next" button
controls_mc.next_btn.addEventListener("click", onNextButtonClick);
function onPrevButtonClick(){
if(geomSelected > 0){
geomSelected-=1;
geomArray[geomSelected].openInfoWindow();
gMap.setCenter({lat:geomArray[geomSelected].lat, lng:geomArray[geomSelected].lng});
displaySelectedTitle(geomArray[geomSelected].name);
displayCount();
}
}
function displaySelectedTitle(title:String){
controls_mc.selected_txt.text = title;
}
function displayCount(){
controls_mc.count_txt.text = (geomSelected+1)+" of "+geomArray.length;
}
//Stage Settings
Stage.scaleMode = "noScale";
Stage.align = "TL";
gMap.setSize(Stage.width, Stage.height);
controls_mc._x = Math.round(Stage.width/2 - controls_mc._width /2);
controls_mc._y = Math.round(Stage.height-100);
function onResize(){
gMap.setSize(Stage.width, Stage.height);
controls_mc._x = Math.round(Stage.width/2 - controls_mc._width /2);
controls_mc._y = Math.round(Stage.height-100);
}
Stage.addListener(this);
That is about it. For a complete list component's methods and events please see API Documentation. If you have any questions please post them on our forum.