feat: 修改同点位marker避让时未参考angle角度的问题
This commit is contained in:
parent
1aba0b513d
commit
ebd70520e4
@ -497,11 +497,6 @@
|
||||
"vlib": "generateAddWidthLine()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"5002":{
|
||||
"table": "OMDB_AREA",
|
||||
"code": 5002,
|
||||
"name": "面测试"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -55,7 +55,7 @@ class ImportPreProcess {
|
||||
)!=null) {
|
||||
var angle = renderEntity?.properties?.get("angle")?.toDouble()!!
|
||||
// angle角度为与正北方向的顺时针夹角,将其转换为与X轴正方向的逆时针夹角,即为正东方向的夹角
|
||||
angle = (450 - angle) % 360
|
||||
angle = -((450 - angle) % 360)
|
||||
radian = Math.toRadians(angle)
|
||||
} else {
|
||||
var isReverse = false // 是否为逆向
|
||||
@ -129,7 +129,7 @@ class ImportPreProcess {
|
||||
// angle += 180
|
||||
// }
|
||||
// angle角度为与正北方向的顺时针夹角,将其转换为与X轴正方向的逆时针夹角,即为正东方向的夹角
|
||||
angle = (450 - angle) % 360
|
||||
angle = -((450 - angle) % 360)
|
||||
radian = Math.toRadians(angle)
|
||||
} else if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) {
|
||||
var coordinates = geometry.coordinates
|
||||
@ -300,7 +300,7 @@ class ImportPreProcess {
|
||||
"angle"
|
||||
)?.toDouble()!!
|
||||
// angle角度为与正北方向的顺时针夹角,将其转换为与X轴正方向的逆时针夹角,即为正东方向的夹角
|
||||
angle = (450 - angle) % 360
|
||||
angle = -((450 - angle) % 360)
|
||||
radian = Math.toRadians(angle)
|
||||
} else if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) {
|
||||
var coordinates = geometry.coordinates
|
||||
@ -324,7 +324,7 @@ class ImportPreProcess {
|
||||
}
|
||||
} else renderEntity?.properties?.get("angle")?.toDouble()!!
|
||||
|
||||
angle = (450 - angle) % 360
|
||||
angle = -((450 - angle) % 360)
|
||||
radian = Math.toRadians(angle)
|
||||
}
|
||||
|
||||
@ -451,9 +451,10 @@ class ImportPreProcess {
|
||||
referenceEntity.properties["currentDirect"] =
|
||||
laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_")
|
||||
referenceEntity.properties["currentType"] =
|
||||
laneInfoTypeArray[i].toString().split(",").distinct().joinToString("_")
|
||||
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/bus/1301_" + referenceEntity.properties["currentDirect"] + ".svg"
|
||||
"assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg"
|
||||
Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString())
|
||||
Realm.getDefaultInstance().insert(referenceEntity)
|
||||
}
|
||||
@ -687,7 +688,7 @@ class ImportPreProcess {
|
||||
"angle"
|
||||
)?.toDouble()!!
|
||||
// angle角度为与正北方向的顺时针夹角,将其转换为与X轴正方向的逆时针夹角,即为正东方向的夹角
|
||||
angle = (450 - angle) % 360
|
||||
angle = -((450 - angle) % 360)
|
||||
radian = Math.toRadians(angle)
|
||||
} else if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) {
|
||||
var coordinates = geometry.coordinates
|
||||
@ -708,7 +709,7 @@ class ImportPreProcess {
|
||||
}
|
||||
} else renderEntity?.properties?.get("angle")?.toDouble()!!
|
||||
|
||||
angle = (450 - angle) % 360
|
||||
angle = -((450 - angle) % 360)
|
||||
radian = Math.toRadians(angle)
|
||||
}
|
||||
|
||||
|
@ -129,7 +129,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
||||
// 定位到指定位置
|
||||
niMapController.mMapView.vtmMap.animator()
|
||||
// .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 ))
|
||||
.animateTo(GeoPoint( 40.50755634913162,115.80235967728436 ))
|
||||
.animateTo(GeoPoint(40.51850916836801,115.78801387178642))
|
||||
}
|
||||
R.id.personal_center_menu_open_all_layer -> {
|
||||
MapParamUtils.setDataLayerEnum(DataLayerEnum.SHOW_ALL_LAYERS)
|
||||
|
@ -257,7 +257,7 @@
|
||||
<xs:attribute name="repeat-start" default="30" type="xs:float" use="optional"/>
|
||||
<xs:attribute name="rotate" default="true" type="xs:boolean" use="optional"/>
|
||||
<!-- 设置是否支持图标压盖,如果为true,则同点位图标不避让,允许压盖,否则支持自动避让 -->
|
||||
<xs:attribute name="gland" default="false" type="xs:boolean" use="optional"/>
|
||||
<xs:attribute name="gland" default="true" type="xs:boolean" use="optional"/>
|
||||
<!-- 原图标旋转角度,默认情况下应该使用以X轴为正方向的图标,此处可设置原图标的旋转角度,在渲染时自动对图标进行旋转,仅支持线要素 -->
|
||||
<xs:attribute name="degree" default="0" type="xs:float" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
@ -317,7 +317,7 @@ open class ClusterMarkerRenderer : MarkerRenderer {
|
||||
// this item will act as a cluster, just use a proper bitmap
|
||||
// depending on cluster size, instead of its marker
|
||||
val bitmap = getClusterBitmap(it.clusterSize + 1)
|
||||
s.set(it.x, it.y, bitmap, true, false, 0f)
|
||||
s.set(it.x, it.y, bitmap, true, false, 0f, 0f)
|
||||
s.offset = PointF(0.5f, 0.5f)
|
||||
s.billboard = true // could be a parameter
|
||||
} else {
|
||||
@ -325,7 +325,7 @@ open class ClusterMarkerRenderer : MarkerRenderer {
|
||||
var symbol: MarkerSymbol? = it.item.marker
|
||||
if (symbol == null) symbol = mDefaultMarker
|
||||
symbol?.let { symbol ->
|
||||
s.set(it.x, it.y, symbol.bitmap, true, false, 0f)
|
||||
s.set(it.x, it.y, symbol.bitmap, true, false, 0f, 0f)
|
||||
s.offset = symbol.hotspot
|
||||
s.billboard = symbol.isBillboard
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ import okhttp3.Cache
|
||||
import okhttp3.OkHttpClient
|
||||
import org.oscim.android.theme.AssetsRenderTheme
|
||||
import org.oscim.layers.GroupLayer
|
||||
import org.oscim.layers.TileGridLayer
|
||||
import org.oscim.layers.tile.buildings.BuildingLayer
|
||||
import org.oscim.layers.tile.vector.VectorTileLayer
|
||||
import org.oscim.layers.tile.vector.labeling.LabelLayer
|
||||
@ -55,6 +56,7 @@ class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView, traceP
|
||||
private lateinit var omdbReferenceTileLayer: VectorTileLayer
|
||||
private lateinit var omdbLabelLayer: LabelLayer
|
||||
private lateinit var omdbReferenceLabelLayer: LabelLayer
|
||||
private lateinit var tileGridLayer: TileGridLayer // 用来显示tile号的layer
|
||||
|
||||
private val omdbTileSource by lazy { OMDBTileSource() }
|
||||
private val omdbReferenceTileSource by lazy { OMDBReferenceTileSource() }
|
||||
@ -141,6 +143,9 @@ class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView, traceP
|
||||
// 向两个Vector图层增加hook钩子,加载数据前对style或数据进行二次处理
|
||||
omdbVectorTileLayer.addHook(navinfoTileThemeHook)
|
||||
omdbReferenceTileLayer.addHook(navinfoTileThemeHook)
|
||||
// 添加显示grid的tile号的图层
|
||||
tileGridLayer = TileGridLayer(mMapView.vtmMap)
|
||||
addLayer(tileGridLayer, NIMapView.LAYER_GROUPS.OPERATE_MARKER)
|
||||
}
|
||||
|
||||
private fun resetOMDBVectorTileLayer() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user