Мне нужно сделать листовку карты, которая содержит несколько полигонов, и я хочу раскрасить свои пойгоны на основе данных из MYSQL. Но когда я пробую этот код, мои полигоны не отображаются.
Это мой код на моем map.php:
<?php
include 'koneksi.php';
$sql="select sum(skor_bobot) as hasilnya from penilaian where bulan=1 and id_kelurahan=1";
$data=mysql_query($sql);
$js='';
while ($row=mysql_fetch_array($data)) {
$js .='L.geoJson(states, {
style: function(feature) {
if ((feature.properties.party=='.'Republican'.')&&('.$row['hasilnya'].'=='.'10'.')) {
return {color: "#ffff89"};
} else {
return {color: "#ff0000"};
};
}
}).addTo(mymap);';
}
echo $js; ?>
и ниже мой код geojson на моем map.php:
var states = [{
"type": "Feature",
"properties": {"party": "Republican"},
"geometry": {
"type": "Polygon",
"coordinates": [[
[-104.05, 48.99],
[-97.22, 48.98],
[-96.58, 45.94],
[-104.03, 45.94],
[-104.05, 48.99]
]]
}
}, {
"type": "Feature",
"properties": {"party": "Democrat"},
"geometry": {
"type": "Polygon",
"coordinates": [[
[-109.05, 41.00],
[-102.06, 40.99],
[-102.03, 36.99],
[-109.04, 36.99],
[-109.05, 41.00]
]]
}
}];
Странно, что ты не (двойная) цитата Republican
в вашем коде JS?
'(feature.properties.party=='.'"Republican"'.')'
Без этих двойных кавычек, когда ваш код выполняется как JavaScript, вы передаете переменную Republican
(который вы не определили ранее, следовательно, ваша консольная ошибка), вместо строка "Republican"
сравнить с.
Других решений пока нет …