0
Google지도에서 작업 중이며 색으로 마커를 분류하려고합니다. 카테고리 테이블에는 [id, categoryname, color]가 있고 마커 테이블에는 [id, ...., category (카테고리의 테이블 카테고리의 ID)]가 있습니다. PHP에서php에서 mysql로 값을 전달하고 javascript로 돌아 가기
:
자바$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];
}
:. colorget = document.getElementById를 ("colorget") 값; 내가 뭘하는지 잘 모릅니다
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에서, 어떤 이유로 색상은 여전히 검은 색이며, 늘 다른 카테고리 색상을로드합니다.
fillColor: addressDetails[6],
여전히 작동하지 않습니다와$encodedString= $encodedString."&&&" . $colorgettert[0];
그리고이 라인
fillColor: colorget,
에이 줄$colorgetter= $colorgettert[0];
를 교체합니다. – MasterWizard의 색상이 올바른 형식입니까? – cmorrissey
예전에 카테고리 필드에서 직접 사용했습니다. – MasterWizard