PHP+jQuery로 구현한 중국 지도 핫스팟 데이터의 통계 표시 예시 지도에서 특정 성 영역으로 마우스를 슬라이드하면 해당 성의 정보가 표시됩니다. 팝업 프롬프트 상자에 데이터 정보가 표시됩니다.
먼저 페이지에 div #tip을 추가하여 지도 정보에 대한 프롬프트 상자를 표시하고 #map을 추가하여 지도를 생성합니다.
<div id="map"></div> <div id="tip"></div>
그럼 jQuery 라이브러리인 Raphael.js와 chinamapPath.js(중국 지도 데이터)를 소개합니다.
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="raphael.js"></script> <script type="text/javascript" src="chinamapPath.js"></script>
raphael을 호출하여 중국 지도를 그린 후 로드합니다. 통계 데이터, 지도 블록이 작기 때문에 지도가 로드될 때 지도 블록에 데이터를 표시하지 않습니다. 우리는 데이터 정보를 사용자에게 더 잘 표시하기 위해 마우스 상호 작용을 사용합니다.
마우스가 지방 블록으로 슬라이드할 때 e.clientX, e.clientY를 통해 마우스 좌표를 배치한 다음 jquery의 css() 메서드를 통해 프롬프트 상자 div#tip을 배치하고 해당 항목을 변경합니다. 지방의 활성 사용자의 이름과 수가 프롬프트 상자에 추가되어 표시됩니다. 코드는 다음과 같습니다:
$(function() { $.get("json.php", function(json) { var data = string2Array(json); var flag; var arr = new Array(); for (var i = 0; i < data.length; i++) { var d = data[i]; if (d < 100) { flag = 0; } else if (d >= 100 && d < 500) { flag = 1; } else if (d >= 500 && d < 2000) { flag = 2; } else if (d >= 2000 && d < 5000) { flag = 3; } else if (d >= 5000 && d < 10000) { flag = 4; } else { flag = 5; } arr.push(flag); } var colors = ["#d7eef8", "#97d6f5", "#3fbeef", "#00a2e9", "#0084be", "#005c86"]; var R = Raphael("map", 600, 500); //调用绘制地图方法 paintMap(R); var i = 0; for (var state in china) { china[state]['path'].color = Raphael.getColor(0.9); (function(st, state) { var prodata = data[i]; var fillcolor = colors[arr[i]]; st.attr({ fill: fillcolor }); //填充背景色 xOffset = 70; yOffset = 180; st.hover(function(e) { st.animate({ fill: "#fdd", stroke: "#eee" }, 500); R.safari(); $("#tip").css({ "top": (e.clientY - xOffset) + "px", "left": (e.clientX - yOffset) + "px" }).fadeIn("fast").html("<h4>" + china[state]['name'] + "</h4><p>活跃用户数:" + prodata + "</p>"); }, function() { st.animate({ fill: fillcolor, stroke: "#eee" }, 500); R.safari(); $("#tip").hide(); }); st.mousemove(function(e) { $("#tip").css({ "top": (e.clientY - xOffset) + "px", "left": (e.clientX - yOffset) + "px" }); R.safari(); }); })(china[state]['path'], state); i++; } }); }); function string2Array(string) { eval("var result = " + decodeURI(string)); return result; }
더 많은 관련 PHP 지식을 보려면 php tutorial을 방문하세요. !
위 내용은 PHP+jQuery는 중국 지도 핫스팟 데이터의 통계적 표시 효과를 실현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!