amCharts js не работает с вызовом ajax?

Я пытаюсь создать карту с amCharts, используя jquery ajax, но он не работает с ajax.

вот мой код ajax:

$('button#btn').click(function(){
$('div#ozellikli').html('<center><img src="assets/img/loading.gif" width="200" height="200"/></center>')
$.ajax({
type:'post',
url:'ozellikliAjax.php',
data:$('form#oz').serialize(),
success:function(msg){
$('div#ozellikli').html(msg);
}
});
});

Вот мой код PHP Ajax:

  <?php

include 'config.php';

$html="";

$yil=$_POST['yil'];
$tur=$_POST['tur'];

///HARITAYI CIZ
$sql="SELECT id,il,COUNT(kurum) AS kurum_Say FROM ozellikli  GROUP BY id,il ORDER BY kurum_Say";$result=$baglanti->query($sql);
$mapChart="";

while ($query=$result->fetch(PDO::FETCH_ASSOC)) {
$mapChart.=' { title: "'.$query['il'].':'.$query['kurum_Say'].'", id: "TR'.$query['id'].'",value:'.$query['kurum_Say'].', selectable: true },';
}$html.='<script type="text/javascript">
AmCharts.ready(function() {

var map;
// *** CREATE MAP ***********************************************************
function createMap(){
map = new AmCharts.AmMap();
map.pathToImages = "http://www.ammap.com/lib/images/";
//map.panEventsEnabled = true; // this line enables pinch-zooming and dragging on touch devices
var dataProvider = {
mapVar: AmCharts.maps.turkeyLow
};

map.areasSettings = {
unlistedAreasColor: "#43B1A9",
rollOverOutlineColor: "#FFFFFF"};

map.colorSteps=5;

map.valueLegend={
left: 10,
bottom:0,
minValue: "En Az",
maxValue: "En Çok"};

dataProvider.areas = ['.$mapChart.'];

map.dataProvider = dataProvider;

map.addListener(\'clickMapObject\', function (event) {
// deselect the area by assigning all of the dataProvider as selected object
map.selectedObject = map.dataProvider;

// toggle showAsSelected
event.mapObject.showAsSelected = !event.mapObject.showAsSelected;

// bring it to an appropriate color
map.returnInitialColor(event.mapObject);var states = [];
for (var i in map.dataProvider.areas) {
var area = map.dataProvider.areas[i];
if (area.showAsSelected) {
states.push(area.title);
}
}
});map.write("mapdiv");

}

createMap();
});
</script>';echo $html;
?>

когда запускаете код ajax, корректно загружается скрипт с помощью ajax, но он не отображается на карте.

Как я могу решить эту проблему?

Спасибо

0

Решение

Если вы вводите ресурсы таким же образом, вам нужно вручную установить состояние готовности, иначе оно не будет работать. AmCharts прослушивает событие, загруженное dom, чтобы установить следующее свойство:

AmCharts.isReady = true;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]