在数据可视化中,地图可视化是最常用的图表之一。
点地图,用于在地理坐标系空间内,将数据展现为形象的几何图形点,展示地理区域内的数据分布情况。
如下图展现的是一软件在全国范围内某个区域(省/市/县级)的激活使用次数。
当软件在某个区域使用激活时,会通过webapi上传当前软件的app_id、ip_address,后台根据IP地址判断出地理行政位置,从而记录不同区域的使用记录数据。
点击查看 示例视频
或扫码观看:
用户访问:
POST http://localhost:44375/api/open/access_log_add HTTP/1.1 Host: localhost:44375 Connection: keep-alive Content-Length: 46 Pragma: no-cache Cache-Control: no-cache sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="98", "Google Chrome";v="98" accept: application/json Content-Type: application/json Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3YWdfdG9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsInVuaXF1ZV9uYW1lIjoicHVibGljIiwicm9sZSI6InB1YmxpYyIsIm5iZiI6MTY1MjE2NDUwMCwiZXhwIjoxNjU0NzU2NTAwLCJpYXQiOjE2NTIxNjQ1MDB9.nWTQwyDiESyCd2M-cSuB3U0TXaPsGag4wbHY9V3TDis sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 sec-ch-ua-platform: "Windows" Origin: http://localhost:44375 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Referer: http://localhost:44375/swagger/ui/index Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 { "app_id": "fcl_client", "tag": "login" } HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Length: 41 Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/10.0 X-AspNet-Version: 4.0.30319 X-SourceFiles: =?UTF-8?B?RDpcd2FnZ2l0ZWVcaHNsXFRlc3RfSVBcV2ViQVBJXEZDTC5XZWJBUElcYXBpXG9wZW5cYWNjZXNzX2xvZ19hZGQ=?= X-Powered-By: ASP.NET Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Content-Type, Authorization Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS Date: Tue, 10 May 2022 06:42:20 GMT {"Status":200,"Message":null,"Data":null}
获取访问位置统计:
POST http://localhost:44375/api/open/access_log_group_by_city_name HTTP/1.1 Host: localhost:44375 Connection: keep-alive Content-Length: 41 Pragma: no-cache Cache-Control: no-cache sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="98", "Google Chrome";v="98" accept: application/json Content-Type: application/json Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3YWdfdG9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsInVuaXF1ZV9uYW1lIjoicHVibGljIiwicm9sZSI6InB1YmxpYyIsIm5iZiI6MTY1MjE2NDUwMCwiZXhwIjoxNjU0NzU2NTAwLCJpYXQiOjE2NTIxNjQ1MDB9.nWTQwyDiESyCd2M-cSuB3U0TXaPsGag4wbHY9V3TDis sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 sec-ch-ua-platform: "Windows" Origin: http://localhost:44375 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Referer: http://localhost:44375/swagger/ui/index Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 { "app_id": "fcl_client", "tag": "" } HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/10.0 X-AspNet-Version: 4.0.30319 X-SourceFiles: =?UTF-8?B?RDpcd2FnZ2l0ZWVcaHNsXFRlc3RfSVBcV2ViQVBJXEZDTC5XZWJBUElcYXBpXG9wZW5cYWNjZXNzX2xvZ19ncm91cF9ieV9jaXR5X25hbWU=?= X-Powered-By: ASP.NET Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Content-Type, Authorization Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS Date: Tue, 10 May 2022 06:53:14 GMT Content-Length: 110 {"Status":200,"Message":null,"Data":[{"city_name":"内网IP","count":50},{"city_name":"芜湖市","count":1}]}
地图控件使用的是FCL.Controls.WinUI.ChinaMap控件,此控件使用GDI+根据全国、省、地市json数据绘制而成。