﻿{"id":1420,"date":"2025-10-08T16:31:03","date_gmt":"2025-10-08T08:31:03","guid":{"rendered":"https:\/\/www.tansoo.cn\/?p=1420"},"modified":"2025-10-08T16:31:03","modified_gmt":"2025-10-08T08:31:03","slug":"phpbb-113","status":"publish","type":"post","link":"https:\/\/www.tansoo.cn\/?p=1420","title":{"rendered":"\u4e3aTraccar\u6dfb\u52a0\u817e\u8baf\u5730\u56fe\u652f\u6301"},"content":{"rendered":"<p><span style=\"font-size:200%;line-height:116%\"><span style=\"color:#0000BF\">\u4e00\u3001Java\u670d\u52a1\u5668\u4fee\u6539<\/span><\/span><br \/>\n<span style=\"font-size:150%;line-height:116%\">1\u3001src\/main\/java\/org\/traccar\/geocoder\/JsonGeocoder.java\uff0c\u6dfb\u52a0\u9ad8\u5fb7\u9006\u5730\u5740\u89e3\u6790\u652f\u6301\uff0c\u5b83\u4f20\u9012\u7ecf\u7eac\u5ea6\u6570\u636e\u4e0e\u5176\u4ed6\u670d\u52a1\u5546\u76f8\u53cd<\/span><\/p>\n<div class=\"codebox_plus_wrap\">\n<div class=\"codebox_plus_header\"><strong>Code: <\/strong><a href=\"#\" onclick=\"codebox_plus_select(this, 1); return false;\">[\u5168\u9009]<\/a>&nbsp;<a href=\"#\" onclick=\"codebox_plus_toggle(this, 1); return false;\">[Expand\/Collapse]<\/a><\/div>\n<div>\n<div style=\"display: inline;\">\n<div class=\"java\" style=\"font-family:monospace;\">\n<ol>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">public<\/span> <span style=\"color: #003399;\">String<\/span> getAddress<span style=\"color: #009900;\">&#40;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">final<\/span> <span style=\"color: #000066; font-weight: bold;\">double<\/span> latitude, <span style=\"color: #000000; font-weight: bold;\">final<\/span> <span style=\"color: #000066; font-weight: bold;\">double<\/span> longitude, <span style=\"color: #000000; font-weight: bold;\">final<\/span> ReverseGeocoderCallback callback<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">if<\/span> <span style=\"color: #009900;\">&#40;<\/span>cache <span style=\"color: #339933;\">!=<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #003399;\">String<\/span> cachedAddress <span style=\"color: #339933;\">=<\/span> cache.<span style=\"color: #006633;\">get<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #000000; font-weight: bold;\">new<\/span> <span style=\"color: #003399;\">AbstractMap<\/span>.<span style=\"color: #006633;\">SimpleImmutableEntry<\/span><span style=\"color: #339933;\">&lt;&gt;<\/span><span style=\"color: #009900;\">&#40;<\/span>latitude, longitude<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">if<\/span> <span style=\"color: #009900;\">&#40;<\/span>cachedAddress <span style=\"color: #339933;\">!=<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">if<\/span> <span style=\"color: #009900;\">&#40;<\/span>callback <span style=\"color: #339933;\">!=<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; callback.<span style=\"color: #006633;\">onSuccess<\/span><span style=\"color: #009900;\">&#40;<\/span>cachedAddress<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">return<\/span> cachedAddress<span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">if<\/span> <span style=\"color: #009900;\">&#40;<\/span>statisticsManager <span style=\"color: #339933;\">!=<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; statisticsManager.<span style=\"color: #006633;\">registerGeocoderRequest<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; Invocation.<span style=\"color: #006633;\">Builder<\/span> request<span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">if<\/span><span style=\"color: #009900;\">&#40;<\/span>url.<span style=\"color: #006633;\">contains<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #0000ff;\">&quot;amap.com&quot;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #666666; font-style: italic;\">\/\/ \u9ad8\u5fb7\u5730\u56fe<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; request <span style=\"color: #339933;\">=<\/span> client.<span style=\"color: #006633;\">target<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #003399;\">String<\/span>.<span style=\"color: #006633;\">format<\/span><span style=\"color: #009900;\">&#40;<\/span>url, longitude, latitude<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#41;<\/span>.<span style=\"color: #006633;\">request<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #000000; font-weight: bold;\">else<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #666666; font-style: italic;\">\/\/ \u5176\u4ed6\u5730\u56fe<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; request <span style=\"color: #339933;\">=<\/span> client.<span style=\"color: #006633;\">target<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #003399;\">String<\/span>.<span style=\"color: #006633;\">format<\/span><span style=\"color: #009900;\">&#40;<\/span>url, latitude, longitude<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#41;<\/span>.<span style=\"color: #006633;\">request<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">if<\/span> <span style=\"color: #009900;\">&#40;<\/span>callback <span style=\"color: #339933;\">!=<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; request.<span style=\"color: #006633;\">async<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span>.<span style=\"color: #006633;\">get<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #000000; font-weight: bold;\">new<\/span> InvocationCallback<span style=\"color: #339933;\">&lt;<\/span>JsonObject<span style=\"color: #339933;\">&gt;<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">public<\/span> <span style=\"color: #000066; font-weight: bold;\">void<\/span> completed<span style=\"color: #009900;\">&#40;<\/span>JsonObject json<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; handleResponse<span style=\"color: #009900;\">&#40;<\/span>latitude, longitude, json, callback<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">public<\/span> <span style=\"color: #000066; font-weight: bold;\">void<\/span> failed<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #003399;\">Throwable<\/span> throwable<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; callback.<span style=\"color: #006633;\">onFailure<\/span><span style=\"color: #009900;\">&#40;<\/span>throwable<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span> <span style=\"color: #000000; font-weight: bold;\">else<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">try<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">return<\/span> handleResponse<span style=\"color: #009900;\">&#40;<\/span>latitude, longitude, request.<span style=\"color: #006633;\">get<\/span><span style=\"color: #009900;\">&#40;<\/span>JsonObject.<span style=\"color: #000000; font-weight: bold;\">class<\/span><span style=\"color: #009900;\">&#41;<\/span>, <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span> <span style=\"color: #000000; font-weight: bold;\">catch<\/span> <span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #003399;\">Exception<\/span> e<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LOGGER.<span style=\"color: #006633;\">warn<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #0000ff;\">&quot;Geocoder network error&quot;<\/span>, e<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">return<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"codebox_plus_footer\">GeSHi &copy; Codebox Plus Extension<\/div>\n<\/div>\n<p><span style=\"font-size:150%;line-height:116%\">2\u3001src\/main\/java\/org\/traccar\/MainModule.java\uff0c\u6dfb\u52a0\u9ad8\u5fb7\u3001\u817e\u8baf\u9006\u5730\u5740\u89e3\u7801\u534f\u8bae\u652f\u6301<\/span><\/p>\n<div class=\"codebox_plus_wrap\">\n<div class=\"codebox_plus_header\"><strong>Code: <\/strong><a href=\"#\" onclick=\"codebox_plus_select(this, 1); return false;\">[\u5168\u9009]<\/a>&nbsp;<a href=\"#\" onclick=\"codebox_plus_toggle(this, 1); return false;\">[Expand\/Collapse]<\/a><\/div>\n<div>\n<div style=\"display: inline;\">\n<div class=\"java\" style=\"font-family:monospace;\">\n<ol>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">public<\/span> <span style=\"color: #000000; font-weight: bold;\">static<\/span> Geocoder provideGeocoder<span style=\"color: #009900;\">&#40;<\/span>Config config, Client client, StatisticsManager statisticsManager<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">if<\/span> <span style=\"color: #009900;\">&#40;<\/span>config.<span style=\"color: #006633;\">getBoolean<\/span><span style=\"color: #009900;\">&#40;<\/span>Keys.<span style=\"color: #006633;\">GEOCODER_ENABLE<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #003399;\">String<\/span> type <span style=\"color: #339933;\">=<\/span> config.<span style=\"color: #006633;\">getString<\/span><span style=\"color: #009900;\">&#40;<\/span>Keys.<span style=\"color: #006633;\">GEOCODER_TYPE<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #003399;\">String<\/span> url <span style=\"color: #339933;\">=<\/span> config.<span style=\"color: #006633;\">getString<\/span><span style=\"color: #009900;\">&#40;<\/span>Keys.<span style=\"color: #006633;\">GEOCODER_URL<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #003399;\">String<\/span> key <span style=\"color: #339933;\">=<\/span> config.<span style=\"color: #006633;\">getString<\/span><span style=\"color: #009900;\">&#40;<\/span>Keys.<span style=\"color: #006633;\">GEOCODER_KEY<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #003399;\">String<\/span> language <span style=\"color: #339933;\">=<\/span> config.<span style=\"color: #006633;\">getString<\/span><span style=\"color: #009900;\">&#40;<\/span>Keys.<span style=\"color: #006633;\">GEOCODER_LANGUAGE<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #003399;\">String<\/span> formatString <span style=\"color: #339933;\">=<\/span> config.<span style=\"color: #006633;\">getString<\/span><span style=\"color: #009900;\">&#40;<\/span>Keys.<span style=\"color: #006633;\">GEOCODER_FORMAT<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; AddressFormat addressFormat <span style=\"color: #339933;\">=<\/span> formatString <span style=\"color: #339933;\">!=<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span> <span style=\"color: #339933;\">?<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> AddressFormat<span style=\"color: #009900;\">&#40;<\/span>formatString<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #339933;\">:<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> AddressFormat<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000066; font-weight: bold;\">int<\/span> cacheSize <span style=\"color: #339933;\">=<\/span> config.<span style=\"color: #006633;\">getInteger<\/span><span style=\"color: #009900;\">&#40;<\/span>Keys.<span style=\"color: #006633;\">GEOCODER_CACHE_SIZE<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Geocoder geocoder <span style=\"color: #339933;\">=<\/span> <span style=\"color: #000000; font-weight: bold;\">switch<\/span> <span style=\"color: #009900;\">&#40;<\/span>type<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;pluscodes&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> PlusCodesGeocoder<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;amap&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> AmapGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><span style=\"color: #666666; font-style: italic;\">\/\/ \u9ad8\u5fb7\u9006\u5730\u5740\u89e3\u7801<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;qq&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> QqGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span> &nbsp; &nbsp;<span style=\"color: #666666; font-style: italic;\">\/\/ \u817e\u8baf\u9006\u5730\u5740\u89e3\u7801<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;nominatim&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> NominatimGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, language, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;locationiq&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> LocationIqGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, language, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;gisgraphy&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> GisgraphyGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;mapquest&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> MapQuestGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;opencage&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> OpenCageGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, language, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;bingmaps&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> BingMapsGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;factual&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> FactualGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;geocodefarm&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> GeocodeFarmGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, key, language, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;geocodexyz&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> GeocodeXyzGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;ban&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> BanGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;here&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> HereGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, language, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;mapmyindia&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> MapmyIndiaGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;tomtom&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> TomTomGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;positionstack&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> PositionStackGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;mapbox&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> MapboxGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;maptiler&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> MapTilerGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, key, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;geoapify&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> GeoapifyGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, key, language, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">case<\/span> <span style=\"color: #0000ff;\">&quot;geocodejson&quot;<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> GeocodeJsonGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, language, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">default<\/span> <span style=\"color: #339933;\">-&gt;<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> GoogleGeocoder<span style=\"color: #009900;\">&#40;<\/span>client, url, key, language, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; geocoder.<span style=\"color: #006633;\">setStatisticsManager<\/span><span style=\"color: #009900;\">&#40;<\/span>statisticsManager<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">return<\/span> geocoder<span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">return<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"codebox_plus_footer\">GeSHi &copy; Codebox Plus Extension<\/div>\n<\/div>\n<p><span style=\"font-size:150%;line-height:116%\">3\u3001src\/main\/java\/org\/traccar\/geocoder\/QqGeocoder.java\uff0c\u6dfb\u52a0\u817e\u8baf\u9006\u5730\u5740\u89e3\u6790\u6587\u4ef6<\/span><\/p>\n<div class=\"codebox_plus_wrap\">\n<div class=\"codebox_plus_header\"><strong>Code: <\/strong><a href=\"#\" onclick=\"codebox_plus_select(this, 1); return false;\">[\u5168\u9009]<\/a>&nbsp;<a href=\"#\" onclick=\"codebox_plus_toggle(this, 1); return false;\">[Expand\/Collapse]<\/a><\/div>\n<div>\n<div style=\"display: inline;\">\n<div class=\"java\" style=\"font-family:monospace;\">\n<ol>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\"><span style=\"color: #000000; font-weight: bold;\">package<\/span> <span style=\"color: #006699;\">org.traccar.geocoder<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\"><span style=\"color: #000000; font-weight: bold;\">import<\/span> <span style=\"color: #006699;\">jakarta.json.JsonObject<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\"><span style=\"color: #000000; font-weight: bold;\">import<\/span> <span style=\"color: #006699;\">jakarta.ws.rs.client.Client<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\"><span style=\"color: #000000; font-weight: bold;\">public<\/span> <span style=\"color: #000000; font-weight: bold;\">class<\/span> QqGeocoder <span style=\"color: #000000; font-weight: bold;\">extends<\/span> JsonGeocoder <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">private<\/span> <span style=\"color: #000000; font-weight: bold;\">static<\/span> <span style=\"color: #003399;\">String<\/span> formatUrl<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #003399;\">String<\/span> url, <span style=\"color: #003399;\">String<\/span> key<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">if<\/span> <span style=\"color: #009900;\">&#40;<\/span>url <span style=\"color: #339933;\">==<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; url <span style=\"color: #339933;\">=<\/span> <span style=\"color: #0000ff;\">&quot;https:\/\/apis.map.qq.com\/ws\/geocoder\/v1&quot;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">if<\/span> <span style=\"color: #009900;\">&#40;<\/span>key <span style=\"color: #339933;\">!=<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; url <span style=\"color: #339933;\">+=<\/span> <span style=\"color: #0000ff;\">&quot;?key=&quot;<\/span> <span style=\"color: #339933;\">+<\/span> key <span style=\"color: #339933;\">+<\/span> <span style=\"color: #0000ff;\">&quot;&amp;location=%f,%f&quot;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">return<\/span> url<span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">public<\/span> QqGeocoder<span style=\"color: #009900;\">&#40;<\/span>Client client, <span style=\"color: #003399;\">String<\/span> url, <span style=\"color: #003399;\">String<\/span> key, <span style=\"color: #000066; font-weight: bold;\">int<\/span> cacheSize, AddressFormat addressFormat<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">super<\/span><span style=\"color: #009900;\">&#40;<\/span>client, formatUrl<span style=\"color: #009900;\">&#40;<\/span>url, key<span style=\"color: #009900;\">&#41;<\/span>, cacheSize, addressFormat<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; @Override<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">public<\/span> Address parseAddress<span style=\"color: #009900;\">&#40;<\/span>JsonObject json<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; Address address <span style=\"color: #339933;\">=<\/span> <span style=\"color: #000000; font-weight: bold;\">new<\/span> Address<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">try<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #003399;\">String<\/span> value <span style=\"color: #339933;\">=<\/span> json.<span style=\"color: #006633;\">getJsonObject<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #0000ff;\">&quot;result&quot;<\/span><span style=\"color: #009900;\">&#41;<\/span>.<span style=\"color: #006633;\">getJsonObject<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #0000ff;\">&quot;formatted_addresses&quot;<\/span><span style=\"color: #009900;\">&#41;<\/span>.<span style=\"color: #006633;\">getString<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #0000ff;\">&quot;recommend&quot;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; address.<span style=\"color: #006633;\">setFormattedAddress<\/span><span style=\"color: #009900;\">&#40;<\/span>value<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; value <span style=\"color: #339933;\">=<\/span> json.<span style=\"color: #006633;\">getJsonObject<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #0000ff;\">&quot;result&quot;<\/span><span style=\"color: #009900;\">&#41;<\/span>.<span style=\"color: #006633;\">getString<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #0000ff;\">&quot;address&quot;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; address.<span style=\"color: #006633;\">setStreet<\/span><span style=\"color: #009900;\">&#40;<\/span>value<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span> <span style=\"color: #000000; font-weight: bold;\">catch<\/span> <span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #003399;\">Exception<\/span> e<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">return<\/span> <span style=\"color: #000066; font-weight: bold;\">null<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000; font-weight: bold;\">return<\/span> address<span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\"><span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"codebox_plus_footer\">GeSHi &copy; Codebox Plus Extension<\/div>\n<\/div>\n<p><span style=\"font-size:200%;line-height:116%\"><span style=\"color:#0000BF\">\u4e8c\u3001Web\u7a0b\u5e8f\u4fee\u6539<\/span><\/span><br \/>\n<span style=\"font-size:150%;line-height:116%\">1\u3001src\\resources\\l10n\\zh.json\uff0c\u6dfb\u52a0GCJ02\u3001WGS84\u5750\u6807\u540d\u79f0\u4e2d\u6587\u5b9a\u4e49<\/span><\/p>\n<div class=\"codebox_plus_wrap\">\n<div class=\"codebox_plus_header\"><strong>Code: <\/strong><a href=\"#\" onclick=\"codebox_plus_select(this, 1); return false;\">[\u5168\u9009]<\/a>&nbsp;<a href=\"#\" onclick=\"codebox_plus_toggle(this, 1); return false;\">[Expand\/Collapse]<\/a><\/div>\n<div>\n<div style=\"display: inline;\">\n<div class=\"text\" style=\"font-family:monospace;\">\n<ol>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionFixTime&quot;: &quot;\u4fee\u6b63\u65f6\u95f4&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionDeviceTime&quot;: &quot;\u8bbe\u5907\u65f6\u95f4&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionServerTime&quot;: &quot;\u670d\u52a1\u5668\u65f6\u95f4&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionValid&quot;: &quot;\u6709\u6548&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionAccuracy&quot;: &quot;\u7cbe\u5ea6&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionLatitudeGcj02&quot;: &quot;\u706b\u661f\u5750\u6807\u7eac\u5ea6&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionLongitudeGcj02&quot;: &quot;\u706b\u661f\u5750\u6807\u7ecf\u5ea6&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionLatitudeWgs84&quot;: &quot;GPS\u5750\u6807\u7eac\u5ea6&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionLongitudeWgs84&quot;: &quot;GPS\u5750\u6807\u7ecf\u5ea6&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionAltitude&quot;: &quot;\u6d77\u62d4&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionSpeed&quot;: &quot;\u901f\u5ea6&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionCourse&quot;: &quot;\u884c\u9a76\u65b9\u5411&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionAddress&quot;: &quot;\u5730\u5740&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionProtocol&quot;: &quot;\u534f\u8bae&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;positionDistance&quot;: &quot;\u91cc\u7a0b&quot;,<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &quot;mapTencent&quot;: &quot;\u817e\u8baf\u5730\u56fe&quot;,<\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"codebox_plus_footer\">GeSHi &copy; Codebox Plus Extension<\/div>\n<\/div>\n<p><span style=\"font-size:150%;line-height:116%\">2\u3001src\\common\\attributes\\usePositionAttributes.js\uff0c\u6dfb\u52a0GCJ02\u3001WGS84\u5750\u6807\u540d\u79f0\u5c5e\u6027\u5b9a\u4e49<\/span><\/p>\n<div class=\"codebox_plus_wrap\">\n<div class=\"codebox_plus_header\"><strong>Code: <\/strong><a href=\"#\" onclick=\"codebox_plus_select(this, 1); return false;\">[\u5168\u9009]<\/a>&nbsp;<a href=\"#\" onclick=\"codebox_plus_toggle(this, 1); return false;\">[Expand\/Collapse]<\/a><\/div>\n<div>\n<div style=\"display: inline;\">\n<div class=\"javascript\" style=\"font-family:monospace;\">\n<ol>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; latitude<span style=\"color: #339933;\">:<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; name<span style=\"color: #339933;\">:<\/span> t<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;positionLatitudeGcj02&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; type<span style=\"color: #339933;\">:<\/span> <span style=\"color: #3366CC;\">&#8216;number&#8217;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; property<span style=\"color: #339933;\">:<\/span> <span style=\"color: #003366; font-weight: bold;\">true<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; longitude<span style=\"color: #339933;\">:<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; name<span style=\"color: #339933;\">:<\/span> t<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;positionLongitudeGcj02&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; type<span style=\"color: #339933;\">:<\/span> <span style=\"color: #3366CC;\">&#8216;number&#8217;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; property<span style=\"color: #339933;\">:<\/span> <span style=\"color: #003366; font-weight: bold;\">true<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; latitudeWgs84<span style=\"color: #339933;\">:<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; name<span style=\"color: #339933;\">:<\/span> t<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;positionLatitudeWgs84&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; type<span style=\"color: #339933;\">:<\/span> <span style=\"color: #3366CC;\">&#8216;number&#8217;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; property<span style=\"color: #339933;\">:<\/span> <span style=\"color: #003366; font-weight: bold;\">true<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; longitudeWgs84<span style=\"color: #339933;\">:<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; name<span style=\"color: #339933;\">:<\/span> t<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;positionLongitudeWgs84&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; type<span style=\"color: #339933;\">:<\/span> <span style=\"color: #3366CC;\">&#8216;number&#8217;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; property<span style=\"color: #339933;\">:<\/span> <span style=\"color: #003366; font-weight: bold;\">true<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"codebox_plus_footer\">GeSHi &copy; Codebox Plus Extension<\/div>\n<\/div>\n<p><span style=\"font-size:150%;line-height:116%\">3\u3001src\\map\\core\\useMapStyles.js\uff0c\u6dfb\u52a0\u9ad8\u5fb7\u3001\u817e\u8baf\u74e6\u7247\u5730\u56fe\u652f\u6301<\/span><\/p>\n<div class=\"codebox_plus_wrap\">\n<div class=\"codebox_plus_header\"><strong>Code: <\/strong><a href=\"#\" onclick=\"codebox_plus_select(this, 1); return false;\">[\u5168\u9009]<\/a>&nbsp;<a href=\"#\" onclick=\"codebox_plus_toggle(this, 1); return false;\">[Expand\/Collapse]<\/a><\/div>\n<div>\n<div style=\"display: inline;\">\n<div class=\"javascript\" style=\"font-family:monospace;\">\n<ol>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; id<span style=\"color: #339933;\">:<\/span> <span style=\"color: #3366CC;\">&#8216;autoNavi&#8217;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; title<span style=\"color: #339933;\">:<\/span> t<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;mapAutoNavi&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; style<span style=\"color: #339933;\">:<\/span> styleCustom<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; tiles<span style=\"color: #339933;\">:<\/span> <span style=\"color: #009900;\">&#91;<\/span><span style=\"color: #CC0000;\">1<\/span><span style=\"color: #339933;\">,<\/span> <span style=\"color: #CC0000;\">2<\/span><span style=\"color: #339933;\">,<\/span> <span style=\"color: #CC0000;\">3<\/span><span style=\"color: #339933;\">,<\/span> <span style=\"color: #CC0000;\">4<\/span><span style=\"color: #009900;\">&#93;<\/span>.<span style=\"color: #660066;\">map<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#40;<\/span>i<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #339933;\">=&gt;<\/span> `https<span style=\"color: #339933;\">:<\/span><span style=\"color: #006600; font-style: italic;\">\/\/webrd0${i}.is.autonavi.com\/appmaptile?lang=zh_cn&amp;size=1&amp;scale=1&amp;style=8&amp;x={x}&amp;y={y}&amp;z={z}`),<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; minZoom<span style=\"color: #339933;\">:<\/span> <span style=\"color: #CC0000;\">3<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; maxZoom<span style=\"color: #339933;\">:<\/span> <span style=\"color: #CC0000;\">18<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; attribution<span style=\"color: #339933;\">:<\/span> <span style=\"color: #3366CC;\">&#8216;\u00a9 \u9ad8\u5fb7\u5730\u56fe&#8217;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; available<span style=\"color: #339933;\">:<\/span> <span style=\"color: #003366; font-weight: bold;\">true<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; id<span style=\"color: #339933;\">:<\/span> <span style=\"color: #3366CC;\">&#8216;tencentMap&#8217;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; title<span style=\"color: #339933;\">:<\/span> t<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;mapTencent&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">,<\/span> <span style=\"color: #006600; font-style: italic;\">\/\/ \u9700\u8981\u5728src\\resources\\l10n\\zh.json\u6587\u4ef6\u4e2d\u6dfb\u52a0\u5bf9\u5e94\u7ffb\u8bd1<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; style<span style=\"color: #339933;\">:<\/span> styleCustom<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; tiles<span style=\"color: #339933;\">:<\/span> <span style=\"color: #009900;\">&#91;<\/span><span style=\"color: #3366CC;\">&#8216;tencent:\/\/{z}\/{x}\/{y}&#8217;<\/span><span style=\"color: #009900;\">&#93;<\/span><span style=\"color: #339933;\">,<\/span> &nbsp; <span style=\"color: #006600; font-style: italic;\">\/\/ \u2460 \u81ea\u5b9a\u4e49\u534f\u8bae\u89e3\u6790\uff1asrc\\map\\core\\MapView.jsx<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; minZoom<span style=\"color: #339933;\">:<\/span> <span style=\"color: #CC0000;\">3<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; maxZoom<span style=\"color: #339933;\">:<\/span> <span style=\"color: #CC0000;\">18<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; attribution<span style=\"color: #339933;\">:<\/span> <span style=\"color: #3366CC;\">&#8216;\u00a9 \u817e\u8baf\u5730\u56fe&#8217;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; available<span style=\"color: #339933;\">:<\/span> <span style=\"color: #003366; font-weight: bold;\">true<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #339933;\">,<\/span><\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"codebox_plus_footer\">GeSHi &copy; Codebox Plus Extension<\/div>\n<\/div>\n<p><span style=\"font-size:150%;line-height:116%\">4\u3001src\\map\\core\\MapView.jsx\uff0c\u65b0\u589e\u817e\u8baf\u534f\u8bae\u62e6\u622a<\/span><\/p>\n<div class=\"codebox_plus_wrap\">\n<div class=\"codebox_plus_header\"><strong>Code: <\/strong><a href=\"#\" onclick=\"codebox_plus_select(this, 1); return false;\">[\u5168\u9009]<\/a>&nbsp;<a href=\"#\" onclick=\"codebox_plus_toggle(this, 1); return false;\">[Expand\/Collapse]<\/a><\/div>\n<div>\n<div style=\"display: inline;\">\n<div class=\"javascript\" style=\"font-family:monospace;\">\n<ol>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">maplibregl.<span style=\"color: #660066;\">addProtocol<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;google&#8217;<\/span><span style=\"color: #339933;\">,<\/span> googleProtocol<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\"><span style=\"color: #006600; font-style: italic;\">\/* ****** \u65b0\u589e\uff1a\u817e\u8baf\u534f\u8bae\u62e6\u622a ****** *\/<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">maplibregl.<span style=\"color: #660066;\">addProtocol<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;tencent&#8217;<\/span><span style=\"color: #339933;\">,<\/span> async <span style=\"color: #009900;\">&#40;<\/span>params<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #339933;\">=&gt;<\/span> <span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #000066; font-weight: bold;\">const<\/span> seg <span style=\"color: #339933;\">=<\/span> params.<span style=\"color: #660066;\">url<\/span>.<span style=\"color: #660066;\">split<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;\/&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #000066; font-weight: bold;\">const<\/span> z <span style=\"color: #339933;\">=<\/span> <span style=\"color: #339933;\">+<\/span>seg<span style=\"color: #009900;\">&#91;<\/span><span style=\"color: #CC0000;\">2<\/span><span style=\"color: #009900;\">&#93;<\/span><span style=\"color: #339933;\">,<\/span> x <span style=\"color: #339933;\">=<\/span> <span style=\"color: #339933;\">+<\/span>seg<span style=\"color: #009900;\">&#91;<\/span><span style=\"color: #CC0000;\">3<\/span><span style=\"color: #009900;\">&#93;<\/span><span style=\"color: #339933;\">,<\/span> y <span style=\"color: #339933;\">=<\/span> <span style=\"color: #339933;\">+<\/span>seg<span style=\"color: #009900;\">&#91;<\/span><span style=\"color: #CC0000;\">4<\/span><span style=\"color: #009900;\">&#93;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #000066; font-weight: bold;\">if<\/span> <span style=\"color: #009900;\">&#40;<\/span>z <span style=\"color: #339933;\">&lt;<\/span> <span style=\"color: #CC0000;\">0<\/span> <span style=\"color: #339933;\">||<\/span> x <span style=\"color: #339933;\">&lt;<\/span> <span style=\"color: #CC0000;\">0<\/span> <span style=\"color: #339933;\">||<\/span> y <span style=\"color: #339933;\">&lt;<\/span> <span style=\"color: #CC0000;\">0<\/span> <span style=\"color: #339933;\">||<\/span> y <span style=\"color: #339933;\">&gt;=<\/span> <span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #CC0000;\">1<\/span> <span style=\"color: #339933;\">&lt;&lt;<\/span> z<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#41;<\/span> &nbsp;<span style=\"color: #009900;\">&#123;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; <span style=\"color: #000066; font-weight: bold;\">return<\/span> <span style=\"color: #009900;\">&#123;<\/span> data<span style=\"color: #339933;\">:<\/span> <span style=\"color: #003366; font-weight: bold;\">null<\/span> <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #000066; font-weight: bold;\">const<\/span> yTMS <span style=\"color: #339933;\">=<\/span> <span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #CC0000;\">1<\/span> <span style=\"color: #339933;\">&lt;&lt;<\/span> z<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #339933;\">&#8211;<\/span> <span style=\"color: #CC0000;\">1<\/span> <span style=\"color: #339933;\">&#8211;<\/span> y<span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #000066; font-weight: bold;\">const<\/span> host <span style=\"color: #339933;\">=<\/span> `rt$<span style=\"color: #009900;\">&#123;<\/span><span style=\"color: #009900;\">&#40;<\/span>x <span style=\"color: #339933;\">%<\/span> <span style=\"color: #CC0000;\">4<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#125;<\/span>.<span style=\"color: #660066;\">map<\/span>.<span style=\"color: #660066;\">gtimg<\/span>.<span style=\"color: #660066;\">com<\/span>`<span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #000066; font-weight: bold;\">const<\/span> realUrl <span style=\"color: #339933;\">=<\/span> `https<span style=\"color: #339933;\">:<\/span><span style=\"color: #006600; font-style: italic;\">\/\/${host}\/realtimerender?z=${z}&amp;x=${x}&amp;y=${yTMS}&amp;style=0`;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; console.<span style=\"color: #660066;\">log<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;[tencent tile]&#8217;<\/span><span style=\"color: #339933;\">,<\/span> realUrl<span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp;<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; <span style=\"color: #000066; font-weight: bold;\">return<\/span> fetch<span style=\"color: #009900;\">&#40;<\/span>realUrl<span style=\"color: #009900;\">&#41;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; .<span style=\"color: #660066;\">then<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#40;<\/span>res<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #339933;\">=&gt;<\/span> <span style=\"color: #009900;\">&#40;<\/span>res.<span style=\"color: #660066;\">ok<\/span> <span style=\"color: #339933;\">?<\/span> res.<span style=\"color: #660066;\">arrayBuffer<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #339933;\">:<\/span> Promise.<span style=\"color: #660066;\">reject<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#41;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; .<span style=\"color: #660066;\">then<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#40;<\/span>buf<span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #339933;\">=&gt;<\/span> <span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#123;<\/span> data<span style=\"color: #339933;\">:<\/span> buf <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#41;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; .<span style=\"color: #000066; font-weight: bold;\">catch<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #339933;\">=&gt;<\/span> <span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#123;<\/span> data<span style=\"color: #339933;\">:<\/span> <span style=\"color: #003366; font-weight: bold;\">null<\/span> <span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\"><span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #339933;\">;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\"><span style=\"color: #006600; font-style: italic;\">\/* ****** \u65b0\u589e\u7ed3\u675f ****** *\/<\/span><\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"codebox_plus_footer\">GeSHi &copy; Codebox Plus Extension<\/div>\n<\/div>\n<p><span style=\"font-size:150%;line-height:116%\">5\u3001src\\login\\LoginPage.jsx\uff0c\u6dfb\u52a0\u8bba\u575b\u94fe\u63a5<\/span><\/p>\n<div class=\"codebox_plus_wrap\">\n<div class=\"codebox_plus_header\"><strong>Code: <\/strong><a href=\"#\" onclick=\"codebox_plus_select(this, 1); return false;\">[\u5168\u9009]<\/a>&nbsp;<a href=\"#\" onclick=\"codebox_plus_toggle(this, 1); return false;\">[Expand\/Collapse]<\/a><\/div>\n<div>\n<div style=\"display: inline;\">\n<div class=\"javascript\" style=\"font-family:monospace;\">\n<ol>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #339933;\">&lt;<\/span>div className<span style=\"color: #339933;\">=<\/span><span style=\"color: #009900;\">&#123;<\/span>classes.<span style=\"color: #660066;\">extraContainer<\/span><span style=\"color: #009900;\">&#125;<\/span><span style=\"color: #339933;\">&gt;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#123;<\/span>registrationEnabled <span style=\"color: #339933;\">&amp;&amp;<\/span> <span style=\"color: #009900;\">&#40;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #339933;\">&lt;<\/span>Link<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; onClick<span style=\"color: #339933;\">=<\/span><span style=\"color: #009900;\">&#123;<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #339933;\">=&gt;<\/span> navigate<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;\/register&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; className<span style=\"color: #339933;\">=<\/span><span style=\"color: #009900;\">&#123;<\/span>classes.<span style=\"color: #660066;\">link<\/span><span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; underline<span style=\"color: #339933;\">=<\/span><span style=\"color: #3366CC;\">&quot;none&quot;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; variant<span style=\"color: #339933;\">=<\/span><span style=\"color: #3366CC;\">&quot;caption&quot;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #339933;\">&gt;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#123;<\/span>t<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;loginRegister&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #339933;\">&lt;\/<\/span>Link<span style=\"color: #339933;\">&gt;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#123;<\/span>emailEnabled <span style=\"color: #339933;\">&amp;&amp;<\/span> <span style=\"color: #009900;\">&#40;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #339933;\">&lt;<\/span>Link<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; onClick<span style=\"color: #339933;\">=<\/span><span style=\"color: #009900;\">&#123;<\/span><span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #009900;\">&#41;<\/span> <span style=\"color: #339933;\">=&gt;<\/span> navigate<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;\/reset-password&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; className<span style=\"color: #339933;\">=<\/span><span style=\"color: #009900;\">&#123;<\/span>classes.<span style=\"color: #660066;\">link<\/span><span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; underline<span style=\"color: #339933;\">=<\/span><span style=\"color: #3366CC;\">&quot;none&quot;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; variant<span style=\"color: #339933;\">=<\/span><span style=\"color: #3366CC;\">&quot;caption&quot;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #339933;\">&gt;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#123;<\/span>t<span style=\"color: #009900;\">&#40;<\/span><span style=\"color: #3366CC;\">&#8216;loginReset&#8217;<\/span><span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #339933;\">&lt;\/<\/span>Link<span style=\"color: #339933;\">&gt;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900;\">&#41;<\/span><span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #339933;\">&lt;<\/span>Link className<span style=\"color: #339933;\">=<\/span><span style=\"color: #009900;\">&#123;<\/span>classes.<span style=\"color: #660066;\">link<\/span><span style=\"color: #009900;\">&#125;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; underline<span style=\"color: #339933;\">=<\/span><span style=\"color: #3366CC;\">&quot;none&quot;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; variant<span style=\"color: #339933;\">=<\/span><span style=\"color: #3366CC;\">&quot;caption&quot;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; href<span style=\"color: #339933;\">=<\/span><span style=\"color: #3366CC;\">&quot;http:\/\/bbs.atoo.top:8081&quot;<\/span> target<span style=\"color: #339933;\">=<\/span><span style=\"color: #3366CC;\">&quot;_blank&quot;<\/span> rel<span style=\"color: #339933;\">=<\/span><span style=\"color: #3366CC;\">&quot;noopener noreferrer&quot;<\/span><span style=\"color: #339933;\">&gt;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \u8bbf\u95ee\u8bba\u575b<\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #339933;\">&lt;\/<\/span>Link<span style=\"color: #339933;\">&gt;<\/span><\/div>\n<\/li>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #339933;\">&lt;\/<\/span>div<span style=\"color: #339933;\">&gt;<\/span><\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"codebox_plus_footer\">GeSHi &copy; Codebox Plus Extension<\/div>\n<\/div>\n<p><span style=\"font-size:150%;line-height:116%\">6\u3001index.html\uff0c\u4fee\u6539\u7f51\u9875\u6807\u9898<\/span><\/p>\n<div class=\"codebox_plus_wrap\">\n<div class=\"codebox_plus_header\"><strong>Code: <\/strong><a href=\"#\" onclick=\"codebox_plus_select(this, 1); return false;\">[\u5168\u9009]<\/a>&nbsp;<a href=\"#\" onclick=\"codebox_plus_toggle(this, 1); return false;\">[Expand\/Collapse]<\/a><\/div>\n<div>\n<div style=\"display: inline;\">\n<div class=\"html4strict\" style=\"font-family:monospace;\">\n<ol>\n<li style=\"margin-left:20px;\">\n<div style=\"border-bottom: dotted 1px #cccccc;\"><span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">title<\/span>&gt;<\/span>${title} \u706b\u661f\u5750\u6807\u7248<span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">title<\/span>&gt;<\/span><\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"codebox_plus_footer\">GeSHi &copy; Codebox Plus Extension<\/div>\n<\/div>\n<p><small>\u539f\u6587\u4f5c\u8005: BG6RSH | <a href=\"https:\/\/bbs.tansoo.cn\/viewtopic.php?t=113\" target=\"_blank\" rel=\"noopener\">\u67e5\u770b\u539f\u5e16<\/a><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001Java\u670d\u52a1\u5668\u4fee\u6539 1\u3001src\/main\/java\/org\/traccar\/ &hellip; <a href=\"https:\/\/www.tansoo.cn\/?p=1420\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[105],"tags":[],"class_list":["post-1420","post","type-post","status-publish","format-standard","hentry","category-105"],"_links":{"self":[{"href":"https:\/\/www.tansoo.cn\/index.php?rest_route=\/wp\/v2\/posts\/1420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tansoo.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tansoo.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tansoo.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tansoo.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1420"}],"version-history":[{"count":0,"href":"https:\/\/www.tansoo.cn\/index.php?rest_route=\/wp\/v2\/posts\/1420\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tansoo.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tansoo.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tansoo.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}