feat: 动态marker配置支持多图标设置
This commit is contained in:
parent
35301e4c48
commit
89b862a0cd
@ -283,7 +283,7 @@
|
|||||||
"table": "OMDB_TRAFFIC_SIGN",
|
"table": "OMDB_TRAFFIC_SIGN",
|
||||||
"code": 3005,
|
"code": 3005,
|
||||||
"name": "交通标牌",
|
"name": "交通标牌",
|
||||||
"zoomMin": 18,
|
"zoomMin": 17,
|
||||||
"zoomMax": 20,
|
"zoomMax": 20,
|
||||||
"is3D": true,
|
"is3D": true,
|
||||||
"catch": true,
|
"catch": true,
|
||||||
@ -592,6 +592,12 @@
|
|||||||
"zoomMin": 15,
|
"zoomMin": 15,
|
||||||
"zoomMax": 17,
|
"zoomMax": 17,
|
||||||
"transformer": [
|
"transformer": [
|
||||||
|
{
|
||||||
|
"k": "geometry",
|
||||||
|
"v": "~",
|
||||||
|
"klib": "geometry",
|
||||||
|
"vlib": "translateBack()"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"k": "geometry",
|
"k": "geometry",
|
||||||
"v": "~",
|
"v": "~",
|
||||||
|
@ -631,30 +631,40 @@ class ImportPreProcess {
|
|||||||
val listResult = mutableListOf<ReferenceEntity>()
|
val listResult = mutableListOf<ReferenceEntity>()
|
||||||
|
|
||||||
for (i in 0 until laneInfoDirectArray.length()) {
|
for (i in 0 until laneInfoDirectArray.length()) {
|
||||||
// 根据后续的数据生成辅助表数据
|
val currentDirect =
|
||||||
val referenceEntity = ReferenceEntity()
|
|
||||||
// referenceEntity.renderEntityId = renderEntity.id
|
|
||||||
referenceEntity.name = "${renderEntity.name}参考方向"
|
|
||||||
referenceEntity.table = renderEntity.table
|
|
||||||
referenceEntity.enable = renderEntity.enable
|
|
||||||
referenceEntity.code = renderEntity.code
|
|
||||||
referenceEntity.taskId = renderEntity.taskId
|
|
||||||
referenceEntity.zoomMin = renderEntity.zoomMin
|
|
||||||
referenceEntity.zoomMax = renderEntity.zoomMax
|
|
||||||
// 与原数据使用相同的geometry
|
|
||||||
referenceEntity.geometry = renderEntity.geometry
|
|
||||||
referenceEntity.properties["qi_table"] = renderEntity.table
|
|
||||||
referenceEntity.properties["currentDirect"] =
|
|
||||||
laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_")
|
laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_")
|
||||||
referenceEntity.properties["currentType"] =
|
val currentType =
|
||||||
laneInfoTypeArray[i].toString()
|
laneInfoTypeArray[i].toString()
|
||||||
val type =
|
val type =
|
||||||
if (referenceEntity.properties["currentType"] == "0") "normal" else if (referenceEntity.properties["currentType"] == "1") "extend" else "bus"
|
if (currentType == "0") "normal" else if (currentType == "1") "extend" else "bus"
|
||||||
referenceEntity.properties["symbol"] =
|
val symbol =
|
||||||
"assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg"
|
"assets:omdb/4601/${type}/1301_${currentDirect}.svg"
|
||||||
Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString())
|
renderEntity.properties["src"] = if(renderEntity.properties["src"].isNullOrEmpty()) symbol else "${renderEntity.properties["src"]}|${symbol}"
|
||||||
referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties))
|
|
||||||
renderEntity.referenceEntitys?.add(referenceEntity)
|
// // 根据后续的数据生成辅助表数据
|
||||||
|
// val referenceEntity = ReferenceEntity()
|
||||||
|
//// referenceEntity.renderEntityId = renderEntity.id
|
||||||
|
// referenceEntity.name = "${renderEntity.name}参考方向"
|
||||||
|
// referenceEntity.table = renderEntity.table
|
||||||
|
// referenceEntity.enable = renderEntity.enable
|
||||||
|
// referenceEntity.code = renderEntity.code
|
||||||
|
// referenceEntity.taskId = renderEntity.taskId
|
||||||
|
// referenceEntity.zoomMin = renderEntity.zoomMin
|
||||||
|
// referenceEntity.zoomMax = renderEntity.zoomMax
|
||||||
|
// // 与原数据使用相同的geometry
|
||||||
|
// referenceEntity.geometry = renderEntity.geometry
|
||||||
|
// referenceEntity.properties["qi_table"] = renderEntity.table
|
||||||
|
// referenceEntity.properties["currentDirect"] =
|
||||||
|
// laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_")
|
||||||
|
// referenceEntity.properties["currentType"] =
|
||||||
|
// laneInfoTypeArray[i].toString()
|
||||||
|
// val type =
|
||||||
|
// if (referenceEntity.properties["currentType"] == "0") "normal" else if (referenceEntity.properties["currentType"] == "1") "extend" else "bus"
|
||||||
|
// referenceEntity.properties["symbol"] =
|
||||||
|
// "assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg"
|
||||||
|
// Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString())
|
||||||
|
// referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties))
|
||||||
|
// renderEntity.referenceEntitys?.add(referenceEntity)
|
||||||
//listResult.add(referenceEntity)
|
//listResult.add(referenceEntity)
|
||||||
}
|
}
|
||||||
//insertData(listResult)
|
//insertData(listResult)
|
||||||
@ -1079,22 +1089,22 @@ class ImportPreProcess {
|
|||||||
// 解析accessCharacteristic,判断是否存在指定属性
|
// 解析accessCharacteristic,判断是否存在指定属性
|
||||||
val accessCharacteristic = renderEntity.properties["accessCharacteristic"].toString().toInt()
|
val accessCharacteristic = renderEntity.properties["accessCharacteristic"].toString().toInt()
|
||||||
var str = ""
|
var str = ""
|
||||||
if (accessCharacteristic.and(4)>0) {
|
if (accessCharacteristic.and(0b100)>0) {
|
||||||
str += "公"
|
str += "公"
|
||||||
}
|
}
|
||||||
if (accessCharacteristic.and(8)>0) {
|
if (accessCharacteristic.and(0b1000)>0) {
|
||||||
if (str.isNotEmpty()) {
|
if (str.isNotEmpty()) {
|
||||||
str += "|"
|
str += "|"
|
||||||
}
|
}
|
||||||
str += "多"
|
str += "HOV"
|
||||||
}
|
}
|
||||||
if (accessCharacteristic.and(64)>0) {
|
if (accessCharacteristic.and(0b1000000)>0) {
|
||||||
if (str.isNotEmpty()) {
|
if (str.isNotEmpty()) {
|
||||||
str += "|"
|
str += "|"
|
||||||
}
|
}
|
||||||
str += "行"
|
str += "行"
|
||||||
}
|
}
|
||||||
if (accessCharacteristic.and(128)>0) {
|
if (accessCharacteristic.and(0b10000000)>0) {
|
||||||
if (str.isNotEmpty()) {
|
if (str.isNotEmpty()) {
|
||||||
str += "|"
|
str += "|"
|
||||||
}
|
}
|
||||||
|
@ -257,7 +257,7 @@
|
|||||||
<xs:attribute name="repeat-start" default="30" type="xs:float" use="optional"/>
|
<xs:attribute name="repeat-start" default="30" type="xs:float" use="optional"/>
|
||||||
<xs:attribute name="rotate" default="true" type="xs:boolean" use="optional"/>
|
<xs:attribute name="rotate" default="true" type="xs:boolean" use="optional"/>
|
||||||
<!-- 设置是否支持图标压盖,如果为true,则同点位图标不避让,允许压盖,否则支持自动避让 -->
|
<!-- 设置是否支持图标压盖,如果为true,则同点位图标不避让,允许压盖,否则支持自动避让 -->
|
||||||
<xs:attribute name="gland" default="true" type="xs:boolean" use="optional"/>
|
<xs:attribute name="gland" default="false" type="xs:boolean" use="optional"/>
|
||||||
<!-- 原图标旋转角度,默认情况下应该使用以X轴为正方向的图标,此处可设置原图标的旋转角度,在渲染时自动对图标进行旋转,仅支持线要素 -->
|
<!-- 原图标旋转角度,默认情况下应该使用以X轴为正方向的图标,此处可设置原图标的旋转角度,在渲染时自动对图标进行旋转,仅支持线要素 -->
|
||||||
<xs:attribute name="degree" default="0" type="xs:float" use="optional"/>
|
<xs:attribute name="degree" default="0" type="xs:float" use="optional"/>
|
||||||
<!-- 图标在y轴方向上的偏移量 -->
|
<!-- 图标在y轴方向上的偏移量 -->
|
||||||
|
@ -1556,7 +1556,7 @@
|
|||||||
<!-- 车信 -->
|
<!-- 车信 -->
|
||||||
<m v="OMDB_LANEINFO" >
|
<m v="OMDB_LANEINFO" >
|
||||||
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
|
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
|
||||||
src="@symbol" symbol-height="24" degree="90"></symbol>
|
src="@src" symbol-height="24" degree="90"></symbol>
|
||||||
</m>
|
</m>
|
||||||
<!-- 杆状物 -->
|
<!-- 杆状物 -->
|
||||||
<m v="OMDB_POLE">
|
<m v="OMDB_POLE">
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.navinfo.collect.library.map.source;
|
package com.navinfo.collect.library.map.source;
|
||||||
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
|
|
||||||
@ -11,21 +10,17 @@ import com.navinfo.collect.library.utils.GeometryTools;
|
|||||||
import com.navinfo.collect.library.utils.MapParamUtils;
|
import com.navinfo.collect.library.utils.MapParamUtils;
|
||||||
|
|
||||||
import org.locationtech.jts.geom.Polygon;
|
import org.locationtech.jts.geom.Polygon;
|
||||||
import org.oscim.core.MapPosition;
|
|
||||||
import org.oscim.layers.tile.MapTile;
|
import org.oscim.layers.tile.MapTile;
|
||||||
import org.oscim.map.Map;
|
|
||||||
import org.oscim.map.Viewport;
|
import org.oscim.map.Viewport;
|
||||||
import org.oscim.tiling.ITileDataSink;
|
import org.oscim.tiling.ITileDataSink;
|
||||||
import org.oscim.tiling.ITileDataSource;
|
import org.oscim.tiling.ITileDataSource;
|
||||||
import org.oscim.tiling.QueryResult;
|
import org.oscim.tiling.QueryResult;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import io.realm.Realm;
|
import io.realm.Realm;
|
||||||
import io.realm.RealmConfiguration;
|
|
||||||
import io.realm.RealmQuery;
|
import io.realm.RealmQuery;
|
||||||
|
|
||||||
public class OMDBTileDataSource implements ITileDataSource {
|
public class OMDBTileDataSource implements ITileDataSource {
|
||||||
@ -129,7 +124,7 @@ public class OMDBTileDataSource implements ITileDataSource {
|
|||||||
realmQuery.endGroup();
|
realmQuery.endGroup();
|
||||||
}
|
}
|
||||||
long time = System.currentTimeMillis();
|
long time = System.currentTimeMillis();
|
||||||
List<RenderEntity> listResult = realmQuery.findAll();
|
List<RenderEntity> listResult = realm.copyFromRealm(realmQuery.findAll());
|
||||||
long newTime = System.currentTimeMillis() - time;
|
long newTime = System.currentTimeMillis() - time;
|
||||||
|
|
||||||
// Log.e("jingo", "当前OMDBTileDataSource " + Thread.currentThread().hashCode() + " 当前realm " + realm.hashCode() + " 查询耗时" + newTime + " 条数" + listResult.size());
|
// Log.e("jingo", "当前OMDBTileDataSource " + Thread.currentThread().hashCode() + " 当前realm " + realm.hashCode() + " 查询耗时" + newTime + " 条数" + listResult.size());
|
||||||
|
2
vtm
2
vtm
@ -1 +1 @@
|
|||||||
Subproject commit ee88167c7de989b3f7c71ae00d9580ff91fd3bf6
|
Subproject commit 3eb80a33c6b54609a47083c38fe35fd4916edba9
|
Loading…
x
Reference in New Issue
Block a user