私はグーグルマップに取り組んでおり、マーカーを色で分類しようとしています。カテゴリ テーブルには [id,categoryname,color] があり、マーカー テーブルには [id,....,category (カテゴリのテーブル カテゴリの id)] があります。
PHP の場合:
$result = mysql_query("SELECT * FROM `markers`");
//Multiple rows are returned
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
if ( $x == 0 )
{
$separator = "";
}
else
{
$separator = "****";
}
//Saving to the String, each variable is separated by three &'s
$encodedString = $encodedString.$separator.
"<b><div class='name'></b>".$row[3].
"</div><div class='opli'><b>Lon:</b> ".$row[2].
"</div><div class='opli'><b>Lat:</b>".$row[1].
"</div><div class='opli'><b>Address:</b>".$row[4].
"</div><div class='opli'><b>Category:</b>".$row[5].
"</div></div>&&&".$row[1]."&&&".$row[2]."&&&".$row[6]."&&&".$row[5];
$x = $x + 1;
$colorgetterq= mysql_query("SELECT color FROM `map`.`category` WHERE id= ".$row[5]."");
$colorgettert = mysql_fetch_row($colorgetterq);
$colorgetter= $colorgettert[0];
}
Java の場合: colorget = document.getElementById("colorget").value;
stringArray = encodedString.split("****");
var x;
for (x = 0; x < stringArray.length; x = x + 1)
{
var addressDetails = [];
var scale1 = [];
var marker;
//Separate each field
addressDetails = stringArray[x].split("&&&");
//Load the lat, long data
var lat = new google.maps.LatLng(addressDetails[1], addressDetails[2]);
//Create a new marker and info window
marker = new google.maps.Marker({
map: map,
position: lat,
icon: {
strokeWeight: 0.01,
fillColor: colorget,
fillOpacity: 0.85,
path: google.maps.SymbolPath.CIRCLE,
scale: 5 + addressDetails[3] * (35-5)/(hiscale-loscale),
},
content: addressDetails[0]
});
私は何をしているのかわかりませんが、fillColor では、何らかの理由で色がまだ黒であり、さまざまなカテゴリの色をロードしません。