Merge branch 'master' of gitlab.navinfo.com:CollectVehicle/OneMapQS
Conflicts: app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt
This commit is contained in:
@@ -120,6 +120,7 @@ dependencies {
|
||||
api 'org.locationtech.jts:jts-core:1.19.0'
|
||||
implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.11'
|
||||
implementation 'com.squareup.okio:okio:3.3.0'
|
||||
implementation 'com.alibaba:fastjson:1.2.73'
|
||||
|
||||
implementation "com.fasterxml.jackson.core:jackson-annotations:2.9.9"
|
||||
implementation "com.fasterxml.jackson.core:jackson-core:2.9.9"
|
||||
|
||||
@@ -1558,11 +1558,6 @@
|
||||
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
|
||||
src="@symbol" symbol-height="24" degree="90"></symbol>
|
||||
</m>
|
||||
<!-- 车信CLM -->
|
||||
<m v="OMDB_CLM_LANEINFO" >
|
||||
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
|
||||
src="@symbol" symbol-height="24" degree="90"></symbol>
|
||||
</m>
|
||||
<!-- 杆状物 -->
|
||||
<m v="OMDB_POLE">
|
||||
<symbol src="assets:omdb/icon_pole_3006.svg" symbol-height="56" symbol-width="56"></symbol>
|
||||
@@ -2063,17 +2058,38 @@
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!-- zLevel -->
|
||||
<m v="OMDB_ZLEVEL">
|
||||
<m k="type" v="zlevelLine">
|
||||
<line stroke="#59feb8" width="0.2" />
|
||||
</m>
|
||||
<m k="type" v="zlevelName">
|
||||
<caption k="name" fill="#000000" stroke="#f1fe59" size="12" priority="0" ></caption>
|
||||
</m>
|
||||
<m k="linkPid">
|
||||
<circle radius="3" stroke="#000000" fill="#ffffff"></circle>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!-- 车道类型 -->
|
||||
<m v="OMDB_LANE_TYPE_ACCESS">
|
||||
<m k="laneLinkPid">
|
||||
<line width="0.1" stroke="#cccccc" stipple-width="0.1" stipple-stroke="#cccccc"></line>
|
||||
<m k="bike">
|
||||
<line fix="true" width="3" stroke="#cccccc"></line>
|
||||
</m>
|
||||
<m k="type" v="s_2_p">
|
||||
<symbol src="assets:omdb/icon_2092_s.svg" symbol-height="32"
|
||||
<m k="type" v="s_acc">
|
||||
<symbol src="assets:omdb/icon_2092_acc_s.svg" symbol-height="32"
|
||||
symbol-width="32" gland="true"></symbol>
|
||||
</m>
|
||||
<m k="type" v="e_2_p">
|
||||
<symbol src="assets:omdb/icon_2092_e.svg" symbol-height="32"
|
||||
<m k="type" v="e_acc">
|
||||
<symbol src="assets:omdb/icon_2092_acc_e.svg" symbol-height="32"
|
||||
symbol-width="32" gland="true"></symbol>
|
||||
</m>
|
||||
<m k="type" v="s_dec">
|
||||
<symbol src="assets:omdb/icon_2092_dec_s.svg" symbol-height="32"
|
||||
symbol-width="32" gland="true"></symbol>
|
||||
</m>
|
||||
<m k="type" v="e_dec">
|
||||
<symbol src="assets:omdb/icon_2092_dec_e.svg" symbol-height="32"
|
||||
symbol-width="32" gland="true"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
1
collect-library/src/main/assets/omdb/icon_2092_acc_e.svg
Normal file
1
collect-library/src/main/assets/omdb/icon_2092_acc_e.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="51" height="51" viewBox="0 0 51 51"><g id="c"><circle cx="25.5" cy="25.5" r="24.5" style="fill:#0e992b; stroke-width:0px;"/><path d="m25.5,2c13,0,23.5,10.5,23.5,23.5s-10.5,23.5-23.5,23.5S2,38.5,2,25.5,12.5,2,25.5,2m0-2h0C11.4,0,0,11.4,0,25.5h0c0,14.1,11.4,25.5,25.5,25.5h0c14.1,0,25.5-11.4,25.5-25.5h0C51,11.4,39.6,0,25.5,0h0Z" style="fill:#02441e; stroke-width:0px;"/><path d="m6.4,16.1c.2.1.7.6,1.1.9l1.2-1.4,4,3.6c.7.7.6,1,0,1.8l-.3.4-.9-.4.3-.4c.3-.4.3-.6-.1-1-.3-.3-2.7-2.5-3-2.7l-.7.8c2.1,2,2.8,3,3.6,5l-.9.3c-.6-1.8-1.3-2.8-3.3-4.6l-.6.8-.7-.6.7-.8c-.4-.4-.9-.8-1.1-1l.6-.6Zm4.3-3.6l5.4,4.6-.6.6-.5-.4-.9,1.1.5.4-.6.7-5.4-4.6,2-2.4Zm3.7,4.3l-3.6-3-.9,1.1,3.6,3,.9-1.1Z" style="fill:#fff; stroke-width:0px;"/><path d="m17.1,10.6c-.3-.4-1.1-1.1-1.5-1.4l.5-.6c.4.3,1.1.9,1.5,1.3l-.5.7Zm7.4,2.8v.9c-1.2.4-2.4.7-3.6,1-1.1.3-1.7.2-2.5-.4-.2.5-.5,1-.7,1.4l-.7-.6c.3-.5.6-.9.8-1.4l-.6-2.3-.9.2-.2-.9,1.7-.5.8,3.1c.7.6,1.2.7,2.3.4,1.3-.3,2.5-.7,3.7-1.1Zm-5.8.4c.6-.5,1.2-1.3,1.5-2l-1.5.4-.6-2.3,1.8-.5-.2-.6-2,.5-.2-.8,2-.5-.2-.8.8-.2.2.7,2.1-.5.2.8-2.1.5.2.6,1.8-.5.6,2.3-1.8.5v.5c.1,0,.3-.5.3-.5.5.2,1.5.6,2.2.8l-.2.9c-.6-.3-1.5-.7-2.1-.9l.4,1.6-.8.2-.4-1.6c-.3.7-.8,1.3-1.3,1.8l-.7-.6Zm.6-2.5l1-.3-.2-.8-1,.3.2.8Zm1.6-1.3l.2.8,1.1-.3-.2-.8-1.1.3Z" style="fill:#fff; stroke-width:0px;"/><path d="m33.4,15.9l-2.9-1.1-.5,1.4-.8-.3.5-1.4-3.3-1.2.3-.8,3.3,1.2.4-1.1-2.4-.9.3-.8c.4-.3,1-.8,1.6-1.3l-1.4-.5.3-.8,1.8.7c.4-.4.7-.8.9-1.1l.8.6c-.2.3-.5.6-.7.8l3.6,1.4-.3.8-4-1.5c-.5.5-1.1,1-1.5,1.3l1.4.5.5-1.3.8.4-.5,1.2,2.2.8-.3.8-2.2-.8-.4,1.1,2.9,1.1-.3.8Z" style="fill:#fff; stroke-width:0px;"/><path d="m39.2,23.6l-.8.3c-.8-1-1.5-2-2.3-3.1-.6-1-.8-1.5-.5-2.5-.5,0-1,0-1.5-.2l.3-.9c.5,0,1.1.2,1.7.2l1.9-1.3-.5-.7.8-.5,1,1.4-2.6,1.8c-.4.9-.2,1.4.4,2.3.7,1.1,1.5,2.1,2.3,3.2Zm2.4-5.9l-1.2-1.7.6-.4.8,1.1c0-.3.2-.6.3-.9l.8.2c0,.4-.2.7-.3,1.1h-.5c0,0,.6.8.6.8.5,0,1.2,0,1.5,0v.9c-.2,0-.5,0-.9,0l.8,1.2-.6.4-1.4-2c-.2,0-.4.1-.5.2l1.1,1.6-3.5,2.5-2.5-3.5,3.5-2.5.8,1.2.6-.2Zm-2.4,3.9l.4-.3-1.5-2.1-.4.3,1.5,2.1Zm-.5-2.8l1.5,2.1.4-.3-1.5-2.1-.4.3Zm.6-3.1c.2-.5.6-1.4.8-2l.8.3c-.1.5-.5,1.4-.7,1.9l-.9-.2Zm2.3,4.2l-1.5-2.1-.4.3,1.5,2.1.4-.3Z" style="fill:#fff; stroke-width:0px;"/><path d="m23.4,37.1v.9c-.8.1-5.1.9-6,1.1v-1.7c.7-.1,5-.9,6-1.1v.8Zm-5.5-6.6l-.4-1.7c.3-.1.5-.3.6-.5.4-.5,1.6-2.7,2.3-4.7l1.5.6c-.6,1.5-1.7,3.5-2.4,4.5.3,0,1.1,0,1.7-.1.5-.9.9-1.7,1.2-2.4l1.4.6c-.9,2-2.6,4.9-3.4,6.2.6-.1,2-.4,2.4-.5v1.7c-.3,0-2.4.4-3.3.6-.4,0-.8.2-1.1.2l-.4-1.8c.6-.2.6-.3.9-.7.5-.6,1-1.5,1.5-2.4-.6,0-1.3,0-1.6.1-.3,0-.5,0-.8.1Zm16.1,2.2l-.6,1.8c-2.1-.8-3.7-1.7-5.1-2.8-.6.5-1.3,1-2.2,1.4,1.2.3,3.5,1.2,4.8,1.7l-.6,1.7c-1.1-.5-3.5-1.3-4.9-1.7l.4-1.4c-.7.4-1.4.7-2.2,1.1l-.8-1.6c1.8-.7,3.1-1.4,4.2-2.2-.6-.6-1.2-1.3-1.7-2.1-.4.7-1,1.3-1.5,1.9l-.9-1.2c1.4-1.5,2.8-4,3.4-5.7l1.5.4c-.2.4-.3.8-.5,1.3h5.2v1.7c-.9,1.5-1.7,2.6-2.8,3.8,1.2.8,2.6,1.5,4.4,2.1Zm-9.5,3.6c1.8.5,5.3,1.7,7.1,2.4l-.5,1.7c-1.8-.7-5.2-2-7.1-2.4l.5-1.7Zm1.7-9.2c.6.9,1.2,1.7,2,2.5.9-.8,1.6-1.7,2.2-2.7h-4.1v.3Z" style="fill:#fff; stroke-width:0px;"/></g></svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
1
collect-library/src/main/assets/omdb/icon_2092_acc_s.svg
Normal file
1
collect-library/src/main/assets/omdb/icon_2092_acc_s.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="51" height="51" viewBox="0 0 51 51"><g id="c"><path d="m25.5,50C12,50,1,39,1,25.5S12,1,25.5,1s24.5,11,24.5,24.5-11,24.5-24.5,24.5Z" style="fill:#0e992b; stroke-width:0px;"/><path d="m25.5,2c13,0,23.5,10.5,23.5,23.5s-10.5,23.5-23.5,23.5S2,38.5,2,25.5,12.5,2,25.5,2m0-2h0C11.4,0,0,11.4,0,25.5s11.4,25.5,25.5,25.5h0c14.1,0,25.5-11.4,25.5-25.5S39.6,0,25.5,0h0Z" style="fill:#02441e; stroke-width:0px;"/><path d="m6.4,16.1c.2.1.7.6,1.1.9l1.2-1.4,4,3.6c.7.7.6,1,0,1.8l-.3.4-.9-.4.3-.4c.3-.4.3-.6-.1-1-.3-.3-2.7-2.5-3-2.7l-.7.8c2.1,2,2.8,3,3.6,5l-.9.3c-.6-1.8-1.3-2.8-3.3-4.6l-.6.8-.7-.6.7-.8c-.4-.4-.9-.8-1.1-1l.6-.6Zm4.3-3.6l5.4,4.6-.6.6-.5-.4-.9,1.1.5.4-.6.7-5.4-4.6,2-2.4Zm3.7,4.3l-3.6-3-.9,1.1,3.6,3,.9-1.1Z" style="fill:#fff; stroke-width:0px;"/><path d="m17.1,10.6c-.3-.4-1.1-1.1-1.5-1.4l.5-.6c.4.3,1.1.9,1.5,1.3l-.5.7Zm7.4,2.8v.9c-1.2.4-2.4.7-3.6,1-1.1.3-1.7.2-2.5-.4-.2.5-.5,1-.7,1.4l-.7-.6c.3-.5.6-.9.8-1.4l-.6-2.3-.9.2-.2-.9,1.7-.5.8,3.1c.7.6,1.2.7,2.3.4,1.3-.3,2.5-.7,3.7-1.1Zm-5.8.4c.6-.5,1.2-1.3,1.5-2l-1.5.4-.6-2.3,1.8-.5-.2-.6-2,.5-.2-.8,2-.5-.2-.8.8-.2.2.7,2.1-.5.2.8-2.1.5.2.6,1.8-.5.6,2.3-1.8.5v.5c.1,0,.3-.5.3-.5.5.2,1.5.6,2.2.8l-.2.9c-.6-.3-1.5-.7-2.1-.9l.4,1.6-.8.2-.4-1.6c-.3.7-.8,1.3-1.3,1.8l-.7-.6Zm.6-2.5l1-.3-.2-.8-1,.3.2.8Zm1.6-1.3l.2.8,1.1-.3-.2-.8-1.1.3Z" style="fill:#fff; stroke-width:0px;"/><path d="m33.4,15.9l-2.9-1.1-.5,1.4-.8-.3.5-1.4-3.3-1.2.3-.8,3.3,1.2.4-1.1-2.4-.9.3-.8c.4-.3,1-.8,1.6-1.3l-1.4-.5.3-.8,1.8.7c.4-.4.7-.8.9-1.1l.8.6c-.2.3-.5.6-.7.8l3.6,1.4-.3.8-4-1.5c-.5.5-1.1,1-1.5,1.3l1.4.5.5-1.3.8.4-.5,1.2,2.2.8-.3.8-2.2-.8-.4,1.1,2.9,1.1-.3.8Z" style="fill:#fff; stroke-width:0px;"/><path d="m39.2,23.6l-.8.3c-.8-1-1.5-2-2.3-3.1-.6-1-.8-1.5-.5-2.5-.5,0-1,0-1.5-.2l.3-.9c.5,0,1.1.2,1.7.2l1.9-1.3-.5-.7.8-.5,1,1.4-2.6,1.8c-.4.9-.2,1.4.4,2.3.7,1.1,1.5,2.1,2.3,3.2Zm2.4-5.9l-1.2-1.7.6-.4.8,1.1c0-.3.2-.6.3-.9l.8.2c0,.4-.2.7-.3,1.1h-.5c0,0,.6.8.6.8.5,0,1.2,0,1.5,0v.9c-.2,0-.5,0-.9,0l.8,1.2-.6.4-1.4-2c-.2,0-.4.1-.5.2l1.1,1.6-3.5,2.5-2.5-3.5,3.5-2.5.8,1.2.6-.2Zm-2.4,3.9l.4-.3-1.5-2.1-.4.3,1.5,2.1Zm-.5-2.8l1.5,2.1.4-.3-1.5-2.1-.4.3Zm.6-3.1c.2-.5.6-1.4.8-2l.8.3c-.1.5-.5,1.4-.7,1.9l-.9-.2Zm2.3,4.2l-1.5-2.1-.4.3,1.5,2.1.4-.3Z" style="fill:#fff; stroke-width:0px;"/><path d="m33.7,37.9l-.3,1.7c-2.8.1-5.5.2-8.3.1-2.7,0-4.5-.6-5.4-2.5-.3,1-.6,2-1.1,3.1l-1.5-.6c1.1-2.5,1.6-4,1.6-7.6h1.6c0,1,0,1.9-.1,2.7.3,1,.7,1.6,1.2,2.1v-5.7h-3.5v-1.7h3.2v-2.1h-2.6v-1.6h2.6v-2.1h1.7v2.1h2.4v1.6h-2.4v2.1h2.9v1.7h-2.6v2.3h2.4v1.7h-2.4v2.6c.6.2,1.4.2,2.3.3,2.8,0,5.6,0,8.5-.1Zm-3.2-11.7h-4.7v-1.7h6.4v6.1h-4.7v3.1c0,1,.2,1.2,1,1.2.4,0,.9,0,1.3,0,1,0,1.2-.2,1.3-1.1,0-.3.1-.8.1-1.3l1.6.6c0,.4,0,.7-.2,1.3-.3,1.8-.7,2.2-2.5,2.2-.7,0-1.5,0-2.2,0-1.7,0-2.2-.7-2.2-2.6v-5.2h4.7v-2.8Z" style="fill:#fff; stroke-width:0px;"/></g></svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
1
collect-library/src/main/assets/omdb/icon_2092_dec_e.svg
Normal file
1
collect-library/src/main/assets/omdb/icon_2092_dec_e.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="51" height="51" viewBox="0 0 51 51"><g id="c"><circle cx="25.5" cy="25.5" r="24.5" style="fill:#f24643; stroke-width:0px;"/><path d="m25.5,2c13,0,23.5,10.5,23.5,23.5s-10.5,23.5-23.5,23.5S2,38.5,2,25.5,12.5,2,25.5,2m0-2h0C11.4,0,0,11.4,0,25.5h0c0,14.1,11.4,25.5,25.5,25.5h0c14.1,0,25.5-11.4,25.5-25.5h0C51,11.4,39.6,0,25.5,0h0Z" style="fill:#510710; stroke-width:0px;"/><path d="m7.9,18.9c-.6-.3-1.8-.7-2.4-.9l.3-.8c.6.2,1.7.6,2.3.9l-.2.8Zm6.9-3.3c.2.2.4.4.6.7.6.8.6,1.1.3,1.3-.2.3-.6.4-1.5.2-.1,0-.2,0-.3-.1.1.6.2,1.2.2,1.9h-.8c0-.3,0-.5,0-.8l-1,1.1-2.1-1.8,1.2-1.4,1.8,1.5c0-.3,0-.6-.2-.9-.9-.5-1.9-1.2-3.2-2.1l-1.5,1.7,2.4,2c.7.6,1.6,1.8,1.9,2.7l-.9.2c-.3-.9-.8-1.7-1.5-2.3l-3-2.6,1.9-2.2-1-.7.5-.6.9.7.5-.6c-.3,0-.7,0-1,0v-.7c.4,0,.9,0,1.2,0v.4s.4-.5.4-.5l.6.5-1.1,1.3c.8.6,1.6,1.1,2.2,1.5-.3-.6-.7-1.1-1.2-1.7l.6-.5c.8,1,1.4,1.9,1.7,2.9.3.1.6.3.8.3.3,0,.4,0,.5,0,0,0,0-.2-.3-.6-.1-.2-.3-.4-.5-.6l.6-.3Zm-5.7,3.4c.8,1.1,1.5,2.2,2.1,3.1l-.7.5c-.6-1-1.3-2.1-2.1-3.1l.7-.5Zm1.9-2.8l-1.3,1.5-.6-.5,1.3-1.5.6.5Zm.7,1.4l-.4.5.9.8.4-.5-.9-.8Z" style="fill:#fff; stroke-width:0px;"/><path d="m17.1,10.6c-.3-.4-1.1-1.1-1.5-1.4l.5-.6c.4.3,1.1.9,1.5,1.3l-.5.7Zm7.4,2.8v.9c-1.2.4-2.4.7-3.6,1-1.1.3-1.7.2-2.5-.4-.2.5-.5,1-.7,1.4l-.7-.6c.3-.5.6-.9.8-1.4l-.6-2.3-.9.2-.2-.9,1.7-.5.8,3.1c.7.6,1.2.7,2.3.4,1.3-.3,2.5-.7,3.7-1.1Zm-5.8.4c.6-.5,1.2-1.3,1.5-2l-1.5.4-.6-2.3,1.8-.5-.2-.6-2,.5-.2-.8,2-.5-.2-.8.8-.2.2.7,2.1-.5.2.8-2.1.5.2.6,1.8-.5.6,2.3-1.8.5v.5c.1,0,.3-.5.3-.5.5.2,1.5.6,2.2.8l-.2.9c-.6-.3-1.5-.7-2.1-.9l.4,1.6-.8.2-.4-1.6c-.3.7-.8,1.3-1.3,1.8l-.7-.6Zm.6-2.5l1-.3-.2-.8-1,.3.2.8Zm1.6-1.3l.2.8,1.1-.3-.2-.8-1.1.3Z" style="fill:#fff; stroke-width:0px;"/><path d="m33.4,15.9l-2.9-1.1-.5,1.4-.8-.3.5-1.4-3.3-1.2.3-.8,3.3,1.2.4-1.1-2.4-.9.3-.8c.4-.3,1-.8,1.6-1.3l-1.4-.5.3-.8,1.8.7c.4-.4.7-.8.9-1.1l.8.6c-.2.3-.5.6-.7.8l3.6,1.4-.3.8-4-1.5c-.5.5-1.1,1-1.5,1.3l1.4.5.5-1.3.8.4-.5,1.2,2.2.8-.3.8-2.2-.8-.4,1.1,2.9,1.1-.3.8Z" style="fill:#fff; stroke-width:0px;"/><path d="m39.2,23.6l-.8.3c-.8-1-1.5-2-2.3-3.1-.6-1-.8-1.5-.5-2.5-.5,0-1,0-1.5-.2l.3-.9c.5,0,1.1.2,1.7.2l1.9-1.3-.5-.7.8-.5,1,1.4-2.6,1.8c-.4.9-.2,1.4.4,2.3.7,1.1,1.5,2.1,2.3,3.2Zm2.4-5.9l-1.2-1.7.6-.4.8,1.1c0-.3.2-.6.3-.9l.8.2c0,.4-.2.7-.3,1.1h-.5c0,0,.6.8.6.8.5,0,1.2,0,1.5,0v.9c-.2,0-.5,0-.9,0l.8,1.2-.6.4-1.4-2c-.2,0-.4.1-.5.2l1.1,1.6-3.5,2.5-2.5-3.5,3.5-2.5.8,1.2.6-.2Zm-2.4,3.9l.4-.3-1.5-2.1-.4.3,1.5,2.1Zm-.5-2.8l1.5,2.1.4-.3-1.5-2.1-.4.3Zm.6-3.1c.2-.5.6-1.4.8-2l.8.3c-.1.5-.5,1.4-.7,1.9l-.9-.2Zm2.3,4.2l-1.5-2.1-.4.3,1.5,2.1.4-.3Z" style="fill:#fff; stroke-width:0px;"/><path d="m23.4,37.1v.9c-.8.1-5.1.9-6,1.1v-1.7c.7-.1,5-.9,6-1.1v.8Zm-5.5-6.6l-.4-1.7c.3-.1.5-.3.6-.5.4-.5,1.6-2.7,2.3-4.7l1.5.6c-.6,1.5-1.7,3.5-2.4,4.5.3,0,1.1,0,1.7-.1.5-.9.9-1.7,1.2-2.4l1.4.6c-.9,2-2.6,4.9-3.4,6.2.6-.1,2-.4,2.4-.5v1.7c-.3,0-2.4.4-3.3.6-.4,0-.8.2-1.1.2l-.4-1.8c.6-.2.6-.3.9-.7.5-.6,1-1.5,1.5-2.4-.6,0-1.3,0-1.6.1-.3,0-.5,0-.8.1Zm16.1,2.2l-.6,1.8c-2.1-.8-3.7-1.7-5.1-2.8-.6.5-1.3,1-2.2,1.4,1.2.3,3.5,1.2,4.8,1.7l-.6,1.7c-1.1-.5-3.5-1.3-4.9-1.7l.4-1.4c-.7.4-1.4.7-2.2,1.1l-.8-1.6c1.8-.7,3.1-1.4,4.2-2.2-.6-.6-1.2-1.3-1.7-2.1-.4.7-1,1.3-1.5,1.9l-.9-1.2c1.4-1.5,2.8-4,3.4-5.7l1.5.4c-.2.4-.3.8-.5,1.3h5.2v1.7c-.9,1.5-1.7,2.6-2.8,3.8,1.2.8,2.6,1.5,4.4,2.1Zm-9.5,3.6c1.8.5,5.3,1.7,7.1,2.4l-.5,1.7c-1.8-.7-5.2-2-7.1-2.4l.5-1.7Zm1.7-9.2c.6.9,1.2,1.7,2,2.5.9-.8,1.6-1.7,2.2-2.7h-4.1v.3Z" style="fill:#fff; stroke-width:0px;"/></g></svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
1
collect-library/src/main/assets/omdb/icon_2092_dec_s.svg
Normal file
1
collect-library/src/main/assets/omdb/icon_2092_dec_s.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="51" height="51" viewBox="0 0 51 51"><g id="c"><path d="m25.5,50C12,50,1,39,1,25.5S12,1,25.5,1s24.5,11,24.5,24.5-11,24.5-24.5,24.5Z" style="fill:#f24643; stroke-width:0px;"/><path d="m25.5,2c13,0,23.5,10.5,23.5,23.5s-10.5,23.5-23.5,23.5S2,38.5,2,25.5,12.5,2,25.5,2m0-2h0C11.4,0,0,11.4,0,25.5s11.4,25.5,25.5,25.5h0c14.1,0,25.5-11.4,25.5-25.5S39.6,0,25.5,0h0Z" style="fill:#510710; stroke-width:0px;"/><path d="m7.9,18.9c-.6-.3-1.8-.7-2.4-.9l.3-.8c.6.2,1.7.6,2.3.9l-.2.8Zm6.9-3.3c.2.2.4.4.6.7.6.8.6,1.1.3,1.3-.2.3-.6.4-1.5.2-.1,0-.2,0-.3-.1.1.6.2,1.2.2,1.9h-.8c0-.3,0-.5,0-.8l-1,1.1-2.1-1.8,1.2-1.4,1.8,1.5c0-.3,0-.6-.2-.9-.9-.5-1.9-1.2-3.2-2.1l-1.5,1.7,2.4,2c.7.6,1.6,1.8,1.9,2.7l-.9.2c-.3-.9-.8-1.7-1.5-2.3l-3-2.6,1.9-2.2-1-.7.5-.6.9.7.5-.6c-.3,0-.7,0-1,0v-.7c.4,0,.9,0,1.2,0v.4s.4-.5.4-.5l.6.5-1.1,1.3c.8.6,1.6,1.1,2.2,1.5-.3-.6-.7-1.1-1.2-1.7l.6-.5c.8,1,1.4,1.9,1.7,2.9.3.1.6.3.8.3.3,0,.4,0,.5,0,0,0,0-.2-.3-.6-.1-.2-.3-.4-.5-.6l.6-.3Zm-5.7,3.4c.8,1.1,1.5,2.2,2.1,3.1l-.7.5c-.6-1-1.3-2.1-2.1-3.1l.7-.5Zm1.9-2.8l-1.3,1.5-.6-.5,1.3-1.5.6.5Zm.7,1.4l-.4.5.9.8.4-.5-.9-.8Z" style="fill:#fff; stroke-width:0px;"/><path d="m17.1,10.6c-.3-.4-1.1-1.1-1.5-1.4l.5-.6c.4.3,1.1.9,1.5,1.3l-.5.7Zm7.4,2.8v.9c-1.2.4-2.4.7-3.6,1-1.1.3-1.7.2-2.5-.4-.2.5-.5,1-.7,1.4l-.7-.6c.3-.5.6-.9.8-1.4l-.6-2.3-.9.2-.2-.9,1.7-.5.8,3.1c.7.6,1.2.7,2.3.4,1.3-.3,2.5-.7,3.7-1.1Zm-5.8.4c.6-.5,1.2-1.3,1.5-2l-1.5.4-.6-2.3,1.8-.5-.2-.6-2,.5-.2-.8,2-.5-.2-.8.8-.2.2.7,2.1-.5.2.8-2.1.5.2.6,1.8-.5.6,2.3-1.8.5v.5c.1,0,.3-.5.3-.5.5.2,1.5.6,2.2.8l-.2.9c-.6-.3-1.5-.7-2.1-.9l.4,1.6-.8.2-.4-1.6c-.3.7-.8,1.3-1.3,1.8l-.7-.6Zm.6-2.5l1-.3-.2-.8-1,.3.2.8Zm1.6-1.3l.2.8,1.1-.3-.2-.8-1.1.3Z" style="fill:#fff; stroke-width:0px;"/><path d="m33.4,15.9l-2.9-1.1-.5,1.4-.8-.3.5-1.4-3.3-1.2.3-.8,3.3,1.2.4-1.1-2.4-.9.3-.8c.4-.3,1-.8,1.6-1.3l-1.4-.5.3-.8,1.8.7c.4-.4.7-.8.9-1.1l.8.6c-.2.3-.5.6-.7.8l3.6,1.4-.3.8-4-1.5c-.5.5-1.1,1-1.5,1.3l1.4.5.5-1.3.8.4-.5,1.2,2.2.8-.3.8-2.2-.8-.4,1.1,2.9,1.1-.3.8Z" style="fill:#fff; stroke-width:0px;"/><path d="m39.2,23.6l-.8.3c-.8-1-1.5-2-2.3-3.1-.6-1-.8-1.5-.5-2.5-.5,0-1,0-1.5-.2l.3-.9c.5,0,1.1.2,1.7.2l1.9-1.3-.5-.7.8-.5,1,1.4-2.6,1.8c-.4.9-.2,1.4.4,2.3.7,1.1,1.5,2.1,2.3,3.2Zm2.4-5.9l-1.2-1.7.6-.4.8,1.1c0-.3.2-.6.3-.9l.8.2c0,.4-.2.7-.3,1.1h-.5c0,0,.6.8.6.8.5,0,1.2,0,1.5,0v.8c-.2,0-.5,0-.9,0l.8,1.2-.6.4-1.4-1.9c-.2,0-.4.1-.5.2l1.1,1.6-3.5,2.5-2.5-3.5,3.5-2.5.8,1.2.6-.2Zm-2.4,3.9l.4-.3-1.5-2.1-.4.3,1.5,2.1Zm-.5-2.8l1.5,2.1.4-.3-1.5-2.1-.4.3Zm.6-3.1c.2-.4.6-1.4.8-2l.8.3c-.1.5-.5,1.4-.7,1.9l-.9-.2Zm2.3,4.2l-1.5-2.1-.4.3,1.5,2.1.4-.3Z" style="fill:#fff; stroke-width:0px;"/><path d="m33.7,37.9l-.3,1.7c-2.8.1-5.5.2-8.3.1-2.7,0-4.5-.6-5.4-2.5-.3,1-.6,2-1.1,3.1l-1.5-.6c1.1-2.5,1.6-4,1.6-7.6h1.6c0,1,0,1.9-.1,2.7.3,1,.7,1.6,1.2,2.1v-5.7h-3.5v-1.7h3.2v-2.1h-2.6v-1.6h2.6v-2.1h1.7v2.1h2.4v1.6h-2.4v2.1h2.9v1.7h-2.6v2.3h2.4v1.7h-2.4v2.6c.6.2,1.4.2,2.3.3,2.8,0,5.6,0,8.5-.1Zm-3.2-11.7h-4.7v-1.7h6.4v6.1h-4.7v3.1c0,1,.2,1.2,1,1.2.4,0,.9,0,1.3,0,1,0,1.2-.2,1.3-1.1,0-.3.1-.8.1-1.3l1.6.6c0,.4,0,.7-.2,1.3-.3,1.8-.7,2.2-2.5,2.2-.7,0-1.5,0-2.2,0-1.7,0-2.2-.7-2.2-2.6v-5.2h4.7v-2.8Z" style="fill:#fff; stroke-width:0px;"/></g></svg>
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="131.3" height="131.3" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 131.3 131.3"><defs><linearGradient id="f" x1="63.4" y1="54.8" x2="68.2" y2="54.8" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#989898"/><stop offset="0" stop-color="#a3a3a3"/><stop offset=".1" stop-color="#c4c5c5"/><stop offset=".2" stop-color="#d8d9d9"/><stop offset=".3" stop-color="#e0e1e1"/><stop offset=".4" stop-color="#dbdcdc"/><stop offset=".5" stop-color="#cccece"/><stop offset=".6" stop-color="#b5b6b7"/><stop offset=".7" stop-color="#949697"/><stop offset=".8" stop-color="#6a6c6f"/><stop offset=".8" stop-color="#3f4246"/><stop offset="1" stop-color="#404247"/><stop offset="1" stop-color="#43434a"/></linearGradient><linearGradient id="g" x1="41.1" y1="26.7" x2="90.2" y2="26.7" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#afbacb"/><stop offset=".1" stop-color="#c1ccda"/><stop offset=".4" stop-color="#d9e6f0"/><stop offset=".5" stop-color="#e3f0f8"/><stop offset=".6" stop-color="#dde9f2"/><stop offset=".8" stop-color="#ccd8e4"/><stop offset="1" stop-color="#b1bbcc"/><stop offset="1" stop-color="#aeb8c9"/></linearGradient></defs><g id="c"><g><rect width="131.3" height="131.3" style="fill:none;"/><g><ellipse id="d" cx="65.7" cy="66.2" rx="14.4" ry="3.7" style="fill:#262d34; isolation:isolate; opacity:.2;"/><ellipse id="e" cx="65.7" cy="66.2" rx="7.5" ry="3" style="fill:#535a60;"/><path d="M65.7,42.6h0c1.4,0,2.6,1.2,2.6,2.6v19.2c0,1.4-1.1,2.5-2.5,2.5h-.3c-1.4,0-2.5-1.1-2.5-2.5v-19.3c0-1.4,1.2-2.6,2.6-2.6Z" style="fill:url(#f);"/><rect x="41.1" y="1" width="49" height="51.4" rx="24.5" ry="24.5" style="fill:url(#g); stroke:#8b9fae; stroke-miterlimit:10; stroke-width:1.1px;"/><rect x="41.7" y="3.3" width="48" height="48.5" rx="24" ry="24" style="fill:#f24643; stroke:#510710; stroke-miterlimit:10;"/><g><path d="M55.5,17.7l-2.3,2.6,1.2,1-.7,.7-1.2-1-2.5,2.9-.7-.6,2.5-2.9-1-.9-1.9,2.1-.7-.6c-.1-.6-.4-1.3-.6-2.1l-1.1,1.3-.7-.6,1.4-1.6c-.2-.5-.5-1-.7-1.3l.9-.5c.2,.3,.4,.7,.5,1.1l2.8-3.2,.7,.6-3.1,3.5c.3,.8,.6,1.5,.7,2l1.1-1.3-1.1-1,.7-.7,1.1,.9,1.7-1.9,.7,.6-1.7,1.9,1,.9,2.3-2.6,.7,.6Z" style="fill:#fff;"/><path d="M57.8,11.7c-.4-.4-1.2-1.2-1.7-1.5l.6-.7c.4,.3,1.2,1,1.6,1.4l-.6,.8Zm8,3.2v.9c-1.4,.4-2.7,.7-4.1,1-1.2,.3-1.8,.2-2.7-.5-.3,.5-.5,1-.8,1.5l-.8-.6c.3-.5,.6-1,.9-1.6l-.6-2.4-1,.2-.2-.9,1.8-.4,.8,3.3c.7,.7,1.3,.7,2.4,.5,1.4-.3,2.8-.7,4.1-1.1Zm-5-4.6l-2.2,.5-.2-.8,1.5-.4c-.2-.2-.5-.4-.8-.6l.5-.7c.4,.2,.6,.4,.9,.7l-.3,.4,1.1-.3c.2-.4,.5-1.1,.6-1.4l.9,.2c0,.2-.3,.6-.4,.9l1.6-.4,.2,.8-2.5,.6c0,.2,0,.4,0,.6l2-.5,1.1,4.4-4.6,1.1-1.1-4.4,1.6-.4v-.6Zm2.3,.8l-2.7,.6v.6c.1,0,2.9-.6,2.9-.6v-.6Zm-2.4,2.4l2.7-.6v-.6c-.1,0-2.9,.6-2.9,.6v.6Zm3.1,.6v-.6c-.1,0-2.8,.6-2.8,.6v.6c.1,0,2.8-.6,2.8-.6Z" style="fill:#fff;"/><path d="M72.7,15.6c.3,.9,1.1,2,2.7,2.9l-.6,.9c-1.6-1.2-2.6-2.2-2.9-3.3-.9,.6-2.3,.6-4.5,.4v-1c2,.4,3.4,.2,4-.3l-2.9-1.1,.3-.8,3.1,1.2,.2-.6,.9,.4-.2,.5,3.1,1.2-.3,.8-2.9-1.2Zm-3.8-3.5c1.3,.1,2.5,0,3.5-.2l-2.6-1,.3-.8,1.8,.7c-.2-.5-.6-1.3-.8-1.7l.8-.4c.3,.4,.7,1.3,.9,1.8l-.6,.4,1.1,.4,.7-1.9,.9,.4-.7,1.8,1,.4-.2-.6c.6-.2,1.4-.5,1.9-.8l.4,.8c-.4,.2-1.2,.5-1.8,.7l1.8,.7-.3,.8-3.1-1.2-.6,1.5-.9-.3,.3-.8c-1,.3-2.1,.3-3.7,.3v-1Zm5.2,.6c.6,.6,2,1.8,2.6,2.4l-.6,.7c-.6-.7-1.9-1.8-2.5-2.5l.5-.6Z" style="fill:#fff;"/><path d="M81.6,26.4l-.7,.5-4.7-6.9,.7-.5,2.1,3.1,.9-.6-1.5-2.3,.7-.5,1.5,2.3,.5-.3,.5,.8-.4,.3,1.5,2.3-.7,.5-1.5-2.3-.9,.6,2.1,3.1Zm-2.5-8.2c.9,.2,1.4,.1,2-.1l-.6-.9,.7-.5,.6,.9h.2c0-.1,.8-.7,.8-.7l-.5-.7,.7-.5,2.5,3.7-.7,.5-.5-.7-1.1,.7,.6,.8-.7,.5-.6-.8-1.4,.9-.5-.7,1.4-.9-.6-.9c-.8,.4-1.5,.5-2.5,.3v-.9Zm3.8,4.1l.4,.6c.3,.3,.4,.4,.8,.2l3-2,.5,.8-3.2,2.1c-.7,.5-1,.4-1.6-.4l-.4-.6,.6-.7Zm-.5-3.9l.6,.9,1.1-.7-.6-.9-.8,.6h-.2Zm1.1,4.2l-.5-.7,2.8-1.9,.5,.7-2.8,1.8Z" style="fill:#fff;"/></g><path d="M63.9,38.9v.9c-.8,.1-5.1,.9-6,1.1v-1.7c.7-.1,5-.9,6-1.1v.8Zm-5.5-6.6l-.4-1.7c.3-.1,.5-.3,.6-.5,.4-.5,1.6-2.7,2.3-4.7l1.5,.6c-.6,1.5-1.7,3.5-2.4,4.5,.3,0,1.1,0,1.7-.1,.5-.9,.9-1.7,1.2-2.4l1.4,.6c-.9,2-2.6,4.9-3.4,6.2,.6-.1,2-.4,2.4-.5v1.7c-.3,0-2.4,.4-3.3,.6-.4,0-.8,.2-1.1,.2l-.4-1.8c.6-.2,.6-.3,.9-.7,.5-.6,1-1.5,1.5-2.4-.6,0-1.3,0-1.6,.1-.3,0-.5,0-.8,.1Zm16.1,2.2l-.6,1.8c-2.1-.8-3.7-1.7-5.1-2.8-.6,.5-1.3,1-2.2,1.4,1.2,.3,3.5,1.2,4.8,1.7l-.6,1.7c-1.1-.5-3.5-1.3-4.9-1.7l.4-1.4c-.7,.4-1.4,.7-2.2,1.1l-.8-1.6c1.8-.7,3.1-1.4,4.2-2.2-.6-.6-1.2-1.3-1.7-2.1-.4,.7-1,1.3-1.5,1.9l-.9-1.2c1.4-1.5,2.8-4,3.4-5.7l1.5,.4c-.2,.4-.3,.8-.5,1.3h5.2v1.7c-.9,1.5-1.7,2.6-2.8,3.8,1.2,.8,2.6,1.5,4.4,2.1Zm-9.5,3.6c1.8,.5,5.3,1.7,7.1,2.4l-.5,1.7c-1.8-.7-5.2-2-7.1-2.4l.5-1.7Zm1.7-9.2c.6,.9,1.2,1.7,2,2.5,.9-.8,1.6-1.7,2.2-2.7h-4.1v.3Z" style="fill:#fff;"/></g></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 4.6 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="131.3" height="131.3" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 131.3 131.3"><defs><linearGradient id="f" x1="63.4" y1="54.8" x2="68.2" y2="54.8" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#989898"/><stop offset="0" stop-color="#a3a3a3"/><stop offset=".1" stop-color="#c4c5c5"/><stop offset=".2" stop-color="#d8d9d9"/><stop offset=".3" stop-color="#e0e1e1"/><stop offset=".4" stop-color="#dbdcdc"/><stop offset=".5" stop-color="#cccece"/><stop offset=".6" stop-color="#b5b6b7"/><stop offset=".7" stop-color="#949697"/><stop offset=".8" stop-color="#6a6c6f"/><stop offset=".8" stop-color="#3f4246"/><stop offset="1" stop-color="#404247"/><stop offset="1" stop-color="#43434a"/></linearGradient><linearGradient id="g" x1="41.1" y1="26.7" x2="90.2" y2="26.7" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#afbacb"/><stop offset=".1" stop-color="#c1ccda"/><stop offset=".4" stop-color="#d9e6f0"/><stop offset=".5" stop-color="#e3f0f8"/><stop offset=".6" stop-color="#dde9f2"/><stop offset=".8" stop-color="#ccd8e4"/><stop offset="1" stop-color="#b1bbcc"/><stop offset="1" stop-color="#aeb8c9"/></linearGradient></defs><g id="c"><g><rect width="131.3" height="131.3" style="fill:none;"/><g><ellipse id="d" cx="65.7" cy="66.2" rx="14.4" ry="3.7" style="fill:#262d34; isolation:isolate; opacity:.2;"/><ellipse id="e" cx="65.7" cy="66.2" rx="7.5" ry="3" style="fill:#535a60;"/><path d="M65.7,42.6h0c1.4,0,2.6,1.2,2.6,2.6v19.2c0,1.4-1.1,2.5-2.5,2.5h-.3c-1.4,0-2.5-1.1-2.5-2.5v-19.3c0-1.4,1.2-2.6,2.6-2.6Z" style="fill:url(#f);"/><rect x="41.1" y="1" width="49" height="51.4" rx="24.5" ry="24.5" style="fill:url(#g); stroke:#8b9fae; stroke-miterlimit:10; stroke-width:1.1px;"/><g><path d="M65.7,51.3c-12.9,0-23.5-10.5-23.5-23.5v-.6c0-12.9,10.5-23.5,23.5-23.5s23.5,10.5,23.5,23.5v.6c0,12.9-10.5,23.5-23.5,23.5Z" style="fill:#0e992b;"/><path d="M65.7,4.3c12.7,0,23,10.3,23,23v.6c0,12.7-10.3,23-23,23s-23-10.3-23-23v-.6c0-12.7,10.3-23,23-23m0-1h0c-13.2,0-24,10.7-24,24v.6c0,13.2,10.7,24,24,24h0c13.2,0,24-10.7,24-24v-.6c0-13.2-10.7-24-24-24h0Z" style="fill:#02441e;"/></g><g><path d="M55.5,17.7l-2.3,2.6,1.2,1-.7,.7-1.2-1-2.5,2.9-.7-.6,2.5-2.9-1-.9-1.9,2.1-.7-.6c-.1-.6-.4-1.3-.6-2.1l-1.1,1.3-.7-.6,1.4-1.6c-.2-.5-.5-1-.7-1.3l.9-.5c.2,.3,.4,.7,.5,1.1l2.8-3.2,.7,.6-3.1,3.5c.3,.8,.6,1.5,.7,2l1.1-1.3-1.1-1,.7-.7,1.1,.9,1.7-1.9,.7,.6-1.7,1.9,1,.9,2.3-2.6,.7,.6Z" style="fill:#fff;"/><path d="M57.8,11.7c-.4-.4-1.2-1.2-1.7-1.5l.6-.7c.4,.3,1.2,1,1.6,1.4l-.6,.8Zm8,3.2v.9c-1.4,.4-2.7,.7-4.1,1-1.2,.3-1.8,.2-2.7-.5-.3,.5-.5,1-.8,1.5l-.8-.6c.3-.5,.6-1,.9-1.6l-.6-2.4-1,.2-.2-.9,1.8-.4,.8,3.3c.7,.7,1.3,.7,2.4,.5,1.4-.3,2.8-.7,4.1-1.1Zm-5-4.6l-2.2,.5-.2-.8,1.5-.4c-.2-.2-.5-.4-.8-.6l.5-.7c.4,.2,.6,.4,.9,.7l-.3,.4,1.1-.3c.2-.4,.5-1.1,.6-1.4l.9,.2c0,.2-.3,.6-.4,.9l1.6-.4,.2,.8-2.5,.6c0,.2,0,.4,0,.6l2-.5,1.1,4.4-4.6,1.1-1.1-4.4,1.6-.4v-.6Zm2.3,.8l-2.7,.6v.6c.1,0,2.9-.6,2.9-.6v-.6Zm-2.4,2.4l2.7-.6v-.6c-.1,0-2.9,.6-2.9,.6v.6Zm3.1,.6v-.6c-.1,0-2.8,.6-2.8,.6v.6c.1,0,2.8-.6,2.8-.6Z" style="fill:#fff;"/><path d="M72.7,15.6c.3,.9,1.1,2,2.7,2.9l-.6,.9c-1.6-1.2-2.6-2.2-2.9-3.3-.9,.6-2.3,.6-4.5,.4v-1c2,.4,3.4,.2,4-.3l-2.9-1.1,.3-.8,3.1,1.2,.2-.6,.9,.4-.2,.5,3.1,1.2-.3,.8-2.9-1.2Zm-3.8-3.5c1.3,.1,2.5,0,3.5-.2l-2.6-1,.3-.8,1.8,.7c-.2-.5-.6-1.3-.8-1.7l.8-.4c.3,.4,.7,1.3,.9,1.8l-.6,.4,1.1,.4,.7-1.9,.9,.4-.7,1.8,1,.4-.2-.6c.6-.2,1.4-.5,1.9-.8l.4,.8c-.4,.2-1.2,.5-1.8,.7l1.8,.7-.3,.8-3.1-1.2-.6,1.5-.9-.3,.3-.8c-1,.3-2.1,.3-3.7,.3v-1Zm5.2,.6c.6,.6,2,1.8,2.6,2.4l-.6,.7c-.6-.7-1.9-1.8-2.5-2.5l.5-.6Z" style="fill:#fff;"/><path d="M81.6,26.4l-.7,.5-4.7-6.9,.7-.5,2.1,3.1,.9-.6-1.5-2.3,.7-.5,1.5,2.3,.5-.3,.5,.8-.4,.3,1.5,2.3-.7,.5-1.5-2.3-.9,.6,2.1,3.1Zm-2.5-8.2c.9,.2,1.4,.1,2-.1l-.6-.9,.7-.5,.6,.9h.2c0-.1,.8-.7,.8-.7l-.5-.7,.7-.5,2.5,3.7-.7,.5-.5-.7-1.1,.7,.6,.8-.7,.5-.6-.8-1.4,.9-.5-.7,1.4-.9-.6-.9c-.8,.4-1.5,.5-2.5,.3v-.9Zm3.8,4.1l.4,.6c.3,.3,.4,.4,.8,.2l3-2,.5,.8-3.2,2.1c-.7,.5-1,.4-1.6-.4l-.4-.6,.6-.7Zm-.5-3.9l.6,.9,1.1-.7-.6-.9-.8,.6h-.2Zm1.1,4.2l-.5-.7,2.8-1.9,.5,.7-2.8,1.8Z" style="fill:#fff;"/></g><path d="M74.2,39.7l-.3,1.7c-2.8,.1-5.5,.2-8.3,.1-2.7,0-4.5-.6-5.4-2.5-.3,1-.6,2-1.1,3.1l-1.5-.6c1.1-2.5,1.6-4,1.6-7.6h1.6c0,1,0,1.9-.1,2.7,.3,1,.7,1.6,1.2,2.1v-5.7h-3.5v-1.7h3.2v-2.1h-2.6v-1.6h2.6v-2.1h1.7v2.1h2.4v1.6h-2.4v2.1h2.9v1.7h-2.6v2.3h2.4v1.7h-2.4v2.6c.6,.2,1.4,.2,2.3,.3,2.8,0,5.6,0,8.5-.1Zm-3.2-11.7h-4.7v-1.7h6.4v6.1h-4.7v3.1c0,1,.2,1.2,1,1.2,.4,0,.9,0,1.3,0,1,0,1.2-.2,1.3-1.1,0-.3,.1-.8,.1-1.3l1.6,.6c0,.4,0,.7-.2,1.3-.3,1.8-.7,2.2-2.5,2.2-.7,0-1.5,0-2.2,0-1.7,0-2.2-.7-2.2-2.6v-5.2h4.7v-2.8Z" style="fill:#fff;"/></g></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 4.6 KiB |
@@ -3,6 +3,7 @@ package com.navinfo.collect.library.data.entity
|
||||
import android.util.Log
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import com.navinfo.collect.library.utils.DeflaterUtil
|
||||
import com.navinfo.collect.library.utils.GeometryTools
|
||||
import com.navinfo.collect.library.utils.GeometryToolsKt
|
||||
import com.navinfo.collect.library.utils.StrZipUtil
|
||||
@@ -79,11 +80,11 @@ open class ReferenceEntity() : RealmObject() {
|
||||
@Ignore
|
||||
var properties: RealmDictionary<String> = RealmDictionary()
|
||||
get() {
|
||||
if (propertiesDb.isNotEmpty() && field.isEmpty()) {
|
||||
if (propertiesDb != null && propertiesDb!!.isNotEmpty() && field.isEmpty()) {
|
||||
try {
|
||||
val gson = Gson()
|
||||
val type = object : TypeToken<RealmDictionary<String>>() {}.type
|
||||
field = gson.fromJson(StrZipUtil.uncompress(propertiesDb), type)
|
||||
field = gson.fromJson(DeflaterUtil.unzipString(propertiesDb), type)
|
||||
} catch (e: Exception) {
|
||||
Log.e("jingo","ReferenceEntity 转 properties $e")
|
||||
}
|
||||
|
||||
@@ -2,9 +2,10 @@ package com.navinfo.collect.library.data.entity
|
||||
|
||||
import android.os.Parcelable
|
||||
import android.util.Log
|
||||
import com.alibaba.fastjson.JSON
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import com.navinfo.collect.library.system.Constant
|
||||
import com.navinfo.collect.library.utils.DeflaterUtil
|
||||
import com.navinfo.collect.library.utils.GeometryTools
|
||||
import com.navinfo.collect.library.utils.GeometryToolsKt
|
||||
import com.navinfo.collect.library.utils.StrZipUtil
|
||||
@@ -13,13 +14,8 @@ import io.realm.RealmObject
|
||||
import io.realm.RealmSet
|
||||
import io.realm.annotations.Ignore
|
||||
import io.realm.annotations.Index
|
||||
import io.realm.annotations.PrimaryKey
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import org.locationtech.jts.geom.Coordinate
|
||||
import org.locationtech.jts.geom.Geometry
|
||||
import org.oscim.core.MercatorProjection
|
||||
import java.util.*
|
||||
import java.util.zip.GZIPInputStream
|
||||
|
||||
/**
|
||||
* 渲染要素对应的实体
|
||||
@@ -82,11 +78,11 @@ open class RenderEntity() : RealmObject(), Parcelable {
|
||||
@Ignore
|
||||
var properties: RealmDictionary<String> = RealmDictionary()
|
||||
get() {
|
||||
if (propertiesDb != null && propertiesDb.isNotEmpty() && field.isEmpty()) {
|
||||
if (propertiesDb != null && propertiesDb!!.isNotEmpty()&& field.isEmpty()) {
|
||||
try {
|
||||
val gson = Gson()
|
||||
val type = object : TypeToken<RealmDictionary<String>>() {}.type
|
||||
field = gson.fromJson(StrZipUtil.uncompress(propertiesDb), type)
|
||||
field = gson.fromJson(DeflaterUtil.unzipString(propertiesDb), type)
|
||||
} catch (e: Exception) {
|
||||
Log.e("jingo","RenderEntity 转 properties $e")
|
||||
}
|
||||
@@ -112,6 +108,7 @@ open class RenderEntity() : RealmObject(), Parcelable {
|
||||
@Index
|
||||
var linkPid: String = "" // RenderEntity关联的linkPid集合(可能会关联多个)
|
||||
var linkRelation: LinkRelation? = null
|
||||
var referenceEntitys: RealmSet<ReferenceEntity>? = RealmSet()//
|
||||
|
||||
constructor(name: String) : this() {
|
||||
this.name = name
|
||||
|
||||
@@ -190,6 +190,37 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
|
||||
layer
|
||||
}
|
||||
|
||||
/**
|
||||
* 评测精简数据marker 图层
|
||||
*/
|
||||
private val niLocationItemizedLayerRough: ItemizedLayer by lazy {
|
||||
|
||||
val symbol = MarkerSymbol(niLocationBitmap, MarkerSymbol.HotspotPlace.CENTER)
|
||||
val layerRough = ItemizedLayer(
|
||||
mapView.vtmMap,
|
||||
symbol,
|
||||
)
|
||||
layerRough.setOnItemGestureListener(object : OnItemGestureListener<MarkerInterface> {
|
||||
override fun onItemSingleTapUp(index: Int, item: MarkerInterface?): Boolean {
|
||||
val tag = mMapView.listenerTagList.last()
|
||||
val listenerList = mMapView.listenerList[tag]
|
||||
if (listenerList != null) {
|
||||
for (listener in listenerList) {
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onItemLongPress(index: Int, item: MarkerInterface?): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
})
|
||||
layerRough.isEnabled = false
|
||||
addLayer(layerRough, NIMapView.LAYER_GROUPS.OPERATE_MARKER)
|
||||
layerRough
|
||||
}
|
||||
|
||||
/**
|
||||
* 评测精简数据marker 图层
|
||||
*/
|
||||
@@ -206,14 +237,6 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
|
||||
val listenerList = mMapView.listenerList[tag]
|
||||
if (listenerList != null) {
|
||||
for (listener in listenerList) {
|
||||
/* if (listener is OnNiLocationItemListener) {
|
||||
listener.onNiLocation(
|
||||
tag,
|
||||
index,
|
||||
(niLocationItemizedLayerSimple.itemList[index] as MarkerItem).uid as NiLocation
|
||||
)
|
||||
break
|
||||
}*/
|
||||
}
|
||||
}
|
||||
return true
|
||||
@@ -333,11 +356,13 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
|
||||
qsRecordItemizedLayer.isEnabled = false
|
||||
}
|
||||
if (traceMarkerEnable) {
|
||||
niLocationItemizedLayer.isEnabled = mapPosition.getZoomLevel() in 17..20
|
||||
niLocationItemizedLayerSimple.isEnabled = mapPosition.getZoomLevel() in 12..16
|
||||
niLocationItemizedLayer.isEnabled = mapPosition.getZoomLevel() in 18..20
|
||||
niLocationItemizedLayerSimple.isEnabled = mapPosition.getZoomLevel() in 14..17
|
||||
niLocationItemizedLayerRough.isEnabled = mapPosition.getZoomLevel() in 12..13
|
||||
} else {
|
||||
niLocationItemizedLayer.isEnabled = false
|
||||
niLocationItemizedLayerSimple.isEnabled = false
|
||||
niLocationItemizedLayerRough.isEnabled = false
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -450,9 +475,11 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
|
||||
fun setTraceMarkEnable(enable: Boolean) {
|
||||
niLocationItemizedLayer.isEnabled = enable
|
||||
niLocationItemizedLayerSimple.isEnabled = enable
|
||||
niLocationItemizedLayerRough.isEnabled = enable
|
||||
traceMarkerEnable = enable
|
||||
niLocationItemizedLayer.populate()
|
||||
niLocationItemizedLayerSimple.populate()
|
||||
niLocationItemizedLayerRough.populate()
|
||||
mMapView.updateMap(true)
|
||||
}
|
||||
|
||||
@@ -604,6 +631,15 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
|
||||
niLocationItemizedLayerSimple.update()
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加质检数据marker
|
||||
*/
|
||||
fun addNiLocationMarkerItemRough(niLocation: NiLocation) {
|
||||
var geoMarkerItem = createNILocationBitmap(niLocation)
|
||||
niLocationItemizedLayerRough.addItem(geoMarkerItem)
|
||||
niLocationItemizedLayerRough.update()
|
||||
}
|
||||
|
||||
private fun createNILocationBitmap(niLocation: NiLocation): MarkerItem {
|
||||
|
||||
val direction: Double = niLocation.direction
|
||||
@@ -870,6 +906,8 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
|
||||
niLocationItemizedLayer.update()
|
||||
niLocationItemizedLayerSimple.removeAllItems()
|
||||
niLocationItemizedLayerSimple.update()
|
||||
niLocationItemizedLayerRough.removeAllItems()
|
||||
niLocationItemizedLayerRough.update()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -896,6 +934,18 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
|
||||
}
|
||||
}
|
||||
|
||||
fun getNILocationItemizedLayerRoughSize(): Int {
|
||||
return niLocationItemizedLayerRough.itemList.size
|
||||
}
|
||||
|
||||
fun getNILocationRough(index: Int): NiLocation? {
|
||||
return if (index > -1 && index < getNILocationItemizedLayerRoughSize()) {
|
||||
((niLocationItemizedLayerRough.itemList[index]) as MarkerItem).uid as NiLocation
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
fun getNILocation(index: Int): NiLocation? {
|
||||
return if (index > -1 && index < getNILocationItemizedLayerSize()) {
|
||||
((niLocationItemizedLayer.itemList[index]) as MarkerItem).uid as NiLocation
|
||||
|
||||
@@ -4,10 +4,13 @@ import static org.oscim.core.MercatorProjection.latitudeToY;
|
||||
import static org.oscim.core.MercatorProjection.longitudeToX;
|
||||
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.navinfo.collect.library.data.entity.RenderEntity;
|
||||
import com.navinfo.collect.library.enums.DataCodeEnum;
|
||||
import com.navinfo.collect.library.utils.GeometryTools;
|
||||
|
||||
import org.locationtech.jts.geom.Coordinate;
|
||||
import org.locationtech.jts.geom.Geometry;
|
||||
@@ -103,7 +106,14 @@ public class OMDBDataDecoder extends TileDecoder {
|
||||
processCoordinateArray(multiPoint.getGeometryN(i).getCoordinates(), false);
|
||||
}
|
||||
} else if (geometry instanceof LineString) {
|
||||
processLineString((LineString) geometry);
|
||||
//将车道中心进行转化面渲染
|
||||
if(layerName!=null&&layerName.equals(DataCodeEnum.OMDB_LANE_LINK_LG.name())){
|
||||
Log.e("qj","车道中心线转化开始");
|
||||
processPolygon((Polygon) GeometryTools.createGeometry(GeometryTools.computeLine(0.000035,0.000035,geometry.toString())));
|
||||
Log.e("qj","车道中心线转化结束");
|
||||
}else{
|
||||
processLineString((LineString) geometry);
|
||||
}
|
||||
} else if (geometry instanceof MultiLineString) {
|
||||
MultiLineString multiLineString = (MultiLineString) geometry;
|
||||
for (int i = 0; i < multiLineString.getNumGeometries(); i++) {
|
||||
|
||||
@@ -4,10 +4,13 @@ import static org.oscim.core.MercatorProjection.latitudeToY;
|
||||
import static org.oscim.core.MercatorProjection.longitudeToX;
|
||||
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.navinfo.collect.library.data.entity.ReferenceEntity;
|
||||
import com.navinfo.collect.library.enums.DataCodeEnum;
|
||||
import com.navinfo.collect.library.utils.GeometryTools;
|
||||
|
||||
import org.locationtech.jts.geom.Coordinate;
|
||||
import org.locationtech.jts.geom.Geometry;
|
||||
@@ -100,7 +103,14 @@ public class OMDBReferenceDecoder extends TileDecoder {
|
||||
processCoordinateArray(multiPoint.getGeometryN(i).getCoordinates(), false);
|
||||
}
|
||||
} else if (geometry instanceof LineString) {
|
||||
processLineString((LineString) geometry);
|
||||
//将车道中心进行转化面渲染
|
||||
if(layerName!=null&&layerName.equals(DataCodeEnum.OMDB_LANE_LINK_LG.name())){
|
||||
Log.e("qj","车道中心线转化开始");
|
||||
processPolygon((Polygon)GeometryTools.createGeometry(GeometryTools.computeLine(0.000035,0.000035,geometry.toString())));
|
||||
Log.e("qj","车道中心线转化结束");
|
||||
}else{
|
||||
processLineString((LineString) geometry);
|
||||
}
|
||||
} else if (geometry instanceof MultiLineString) {
|
||||
MultiLineString multiLineString = (MultiLineString) geometry;
|
||||
for (int i = 0; i < multiLineString.getNumGeometries(); i++) {
|
||||
|
||||
@@ -0,0 +1,218 @@
|
||||
package com.navinfo.collect.library.utils;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.zip.Deflater;
|
||||
import java.util.zip.Inflater;
|
||||
import org.apache.commons.net.util.Base64;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.zip.DataFormatException;
|
||||
import java.util.zip.Deflater;
|
||||
import java.util.zip.Inflater;
|
||||
|
||||
/**
|
||||
* DeflaterUtils 压缩字符串
|
||||
*/
|
||||
|
||||
public class DeflaterUtil{
|
||||
|
||||
private DeflaterUtil() {
|
||||
|
||||
}
|
||||
|
||||
private static final int BUFFER_SIZE = 8192;
|
||||
|
||||
/**
|
||||
* 压缩
|
||||
*/
|
||||
|
||||
public static String zipString(String unzipString) {
|
||||
|
||||
/*
|
||||
|
||||
* https://www.yiibai.com/javazip/javazip_deflater.html#article-start
|
||||
|
||||
* 0 ~ 9 压缩等级 低到高
|
||||
|
||||
* public static final int BEST_COMPRESSION = 9; 最佳压缩的压缩级别。
|
||||
|
||||
* public static final int BEST_SPEED = 1; 压缩级别最快的压缩。
|
||||
|
||||
* public static final int DEFAULT_COMPRESSION = -1; 默认压缩级别。
|
||||
|
||||
* public static final int DEFAULT_STRATEGY = 0; 默认压缩策略。
|
||||
|
||||
* public static final int DEFLATED = 8; 压缩算法的压缩方法(目前唯一支持的压缩方法)。
|
||||
|
||||
* public static final int FILTERED = 1; 压缩策略最适用于大部分数值较小且数据分布随机分布的数据。
|
||||
|
||||
* public static final int FULL_FLUSH = 3; 压缩刷新模式,用于清除所有待处理的输出并重置拆卸器。
|
||||
|
||||
* public static final int HUFFMAN_ONLY = 2; 仅用于霍夫曼编码的压缩策略。
|
||||
|
||||
* public static final int NO_COMPRESSION = 0; 不压缩的压缩级别。
|
||||
|
||||
* public static final int NO_FLUSH = 0; 用于实现最佳压缩结果的压缩刷新模式。
|
||||
|
||||
* public static final int SYNC_FLUSH = 2; 用于清除所有未决输出的压缩刷新模式; 可能会降低某些压缩算法的压缩率。
|
||||
|
||||
*/
|
||||
|
||||
//使用指定的压缩级别创建一个新的压缩器。
|
||||
|
||||
Deflater deflater = new Deflater(Deflater.BEST_COMPRESSION);
|
||||
|
||||
//设置压缩输入数据。
|
||||
|
||||
deflater.setInput(unzipString.getBytes(StandardCharsets.UTF_8));
|
||||
|
||||
//当被调用时,表示压缩应该以输入缓冲区的当前内容结束。
|
||||
|
||||
deflater.finish();
|
||||
|
||||
final byte[] bytes = new byte[512];
|
||||
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(512);
|
||||
|
||||
try {
|
||||
|
||||
while (!deflater.finished()) {
|
||||
|
||||
//压缩输入数据并用压缩数据填充指定的缓冲区。
|
||||
|
||||
int length = deflater.deflate(bytes);
|
||||
|
||||
outputStream.write(bytes, 0, length);
|
||||
|
||||
}
|
||||
|
||||
deflater.end();
|
||||
|
||||
return Base64.encodeBase64String(outputStream.toByteArray());
|
||||
|
||||
}catch (Exception e){
|
||||
return null;
|
||||
}finally {
|
||||
try {
|
||||
outputStream.close();
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 解压缩
|
||||
*/
|
||||
|
||||
public static String unzipString(String zipString) {
|
||||
|
||||
byte[] decode = Base64.decodeBase64(zipString);
|
||||
|
||||
//创建一个新的解压缩器 https://www.yiibai.com/javazip/javazip_inflater.html
|
||||
|
||||
Inflater inflater = new Inflater();
|
||||
|
||||
//设置解压缩的输入数据。
|
||||
|
||||
inflater.setInput(decode);
|
||||
|
||||
final byte[] bytes = new byte[512];
|
||||
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(512);
|
||||
|
||||
try {
|
||||
|
||||
//finished() 如果已到达压缩数据流的末尾,则返回true。
|
||||
|
||||
while (!inflater.finished()) {
|
||||
|
||||
//将字节解压缩到指定的缓冲区中。
|
||||
|
||||
int length = inflater.inflate(bytes);
|
||||
|
||||
outputStream.write(bytes, 0, length);
|
||||
|
||||
}
|
||||
|
||||
} catch (DataFormatException e) {
|
||||
|
||||
e.printStackTrace();
|
||||
|
||||
return null;
|
||||
|
||||
} finally {
|
||||
|
||||
//关闭解压缩器并丢弃任何未处理的输入。
|
||||
|
||||
inflater.end();
|
||||
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
return outputStream.toString("UTF-8");
|
||||
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
|
||||
e.printStackTrace();
|
||||
|
||||
return null;
|
||||
|
||||
}finally {
|
||||
try {
|
||||
outputStream.close();
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static byte[] compress(byte[] bytes) {
|
||||
if (bytes == null) {
|
||||
throw new NullPointerException("bytes is null");
|
||||
}
|
||||
int lenght = 0;
|
||||
Deflater deflater = new Deflater();
|
||||
deflater.setInput(bytes);
|
||||
deflater.finish();
|
||||
byte[] outputBytes = new byte[BUFFER_SIZE];
|
||||
try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
|
||||
while (!deflater.finished()) {
|
||||
lenght = deflater.deflate(outputBytes);
|
||||
bos.write(outputBytes, 0, lenght);
|
||||
}
|
||||
deflater.end();
|
||||
return bos.toByteArray();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException("Deflater compress error", e);
|
||||
}
|
||||
}
|
||||
|
||||
public static byte[] decompress(byte[] bytes) {
|
||||
if (bytes == null) {
|
||||
throw new NullPointerException("bytes is null");
|
||||
}
|
||||
int length = 0;
|
||||
Inflater inflater = new Inflater();
|
||||
inflater.setInput(bytes);
|
||||
byte[] outputBytes = new byte[BUFFER_SIZE];
|
||||
try (ByteArrayOutputStream bos = new ByteArrayOutputStream();) {
|
||||
while (!inflater.finished()) {
|
||||
length = inflater.inflate(outputBytes);
|
||||
if (length == 0) {
|
||||
break;
|
||||
}
|
||||
bos.write(outputBytes, 0, length);
|
||||
}
|
||||
inflater.end();
|
||||
return bos.toByteArray();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Deflater decompress error", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user