기존 응용 프로그램에 기능을 추가해야합니다.XML HTTP 요청에서 중복 값 확인
현재 Google지도가 표시되며 XML HTTP 응답에 코드가 없으면 좌표를 사용하여 특정 영역의 오버레이가 빨간색으로 색상이 지정됩니다. 그런 다음 값이 있으면 녹색으로 지정합니다.
function loadXMLDoc() {
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
stationground = xmlhttp.responseText.split(",");
}
}
xmlhttp.open("GET","stationareas.asp",true);
xmlhttp.send();
console.log(stationground);
}
function areaStatus() {
loadXMLDoc();
map.data.setStyle(function(feature) {
var featurecountry = feature.getProperty('letter');
if (stationground.indexOf(featurecountry) != -1) {
return/** @type {google.maps.Data.StyleOptions} */ {
fillColor: 'red' , fillOpacity: 0.25 };
} else {
return/** @type {google.maps.Data.StyleOptions} */ {
fillColor: 'green' , fillOpacity: 0.25 };
}
console.log(featurecountry);
});
}
console.log는 stationareas.asp의 SQL 쿼리에 나열된 항목의 목록을 반환합니다.
areaStatus()
함수 내에서 응답이 이미 존재하는지 여부를 확인할 수 있으며, 그렇다면 "Apple"의 값이 3 개인 경우 해당 섹션의 색상이 녹색임을 나타낼 수 있습니다. 하지만 "보라색"섹션에서 5 색 이상인 경우
희망적입니다. 어떤 도움이 도움이 될 것입니다!
응답구조 :
[ "C04", "C04", "C09", "C21", "C24", "C26", "C43", "C46", "C46", " 「C20」, 「E20」, 「E20」, 「E20」, 「E20」, 「E20」, 「E20」, 「E20」, 「G10」, 「G10」, 「G10」, 「G10」, 「G10」, 「G10」, 「G10」, 「G23」, 「G38」, 「G60」, 「G10」, 「G10」, 「G10」, 「G60」, 「L15」, 「L30」, 「L30」, 「L30」, 「L31」, 「L32」, 「L32」, 「L35」, 「L55」, 「L55」, 「L72」, 「L95」, 「L30」, 「L30」, 「L55」, 「L30」, 「」〕
나는 실질적인 것을 시도하지 않았습니다. 처음에는 IndexOf()로 시도했지만 그게 아니라는 것을 깨달았습니다. 나는 방금 연구하고 havent 도움이 된 것을 우연히 만났습니다. 나는 얼마나 많은 가치가 있는지 세어 볼 수 있지만 각 가치에 대해 개별적인 반응이 너무 많으면 수표를 써야합니다. 그 말이 맞는다면. 위의 Apple 예제와 같습니다. –
이 질문은 XML 응답의 구조와 값이 무엇인지 모른 채로는 실제로 답할 수 없습니다. 해당 배열의 경우 발생 수를 계산하십시오. 이 같은 것이 당신을 시작할 수 있습니다 : http://stackoverflow.com/questions/17313268/find-the-number-of-occurrences-a-given-value-has-in-an-array –
고마워요. 나는 한번 살펴 보겠다. 나는 나의 응답 구조를 추가했다. –