Dynamically adding cities to the map

This demo shows how you can add new images/markers to the map dynamically, without re-validating the whole map data.

The idea is to dynamically create a new MapImage object, push it into images array of maps dataProvider, then call its validate() method. I.e.:

var city = new AmCharts.MapImage();
city.title = "Vienna;
city.latitude = 48.2092;
city.longitude = 16.3728;
city.type = "circle";
city.chart = map;
map.dataProvider.images.push(city);
city.validate();

You can set any property available in MapImage.

Please note that setting chart property with the reference to your map object is required for it to work properly.