EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

在矢量贴图上显示气泡标记

本主题描述如何在矢量地图上将业务对象显示为气泡标记。气泡标记的大小将取决于它们的关联值。

运行ASP.NET应用程序项目的应用程序设计器。将MapsAspNetModule组件从“工具箱”拖到设计器的“模块”窗格中。

MapsModule_Toolbox

实现支持IVectorMapsMarker接口的业务类。在下面的代码中,将创建一个新的Country业务类。您还可以在现有业务类中支持IVectorMapsMarker

using DevExpress.Persistent.Base;
// ...
[DefaultClassOptions]
public class Factory : IVectorMapsMarker {
    [Browsable(false)]
    public int ID { get; private set; }
    public string Title { get; set; }
    public double Latitude { get; set; }
    public double Longitude { get; set; }
    [Browsable(false)]
    public string Tooltip {
        get { return string.Format("<b>{0}</b><br/>Value = {1}", Title, Value); }
    }
    public float Value { get; set; }
}

IVectorMapsMarker.Tooltip返回值支持HTML格式。工具提示的第一行是使用粗体字体的Factory标题,第二行将显示与当前Factory关联的值。

注意

上面的示例适用于实体框架。但是,您可以在XPO持久性类中使用类似的方法。您可以在Feature Center演示中找到XPO的完整示例(请参见%PUBLIC%\ Documents \ DevExpress演示19.2 \ Components \ eXpressApp Framework \ FeatureCenter \ CS \ FeatureCenter.Module \ ListEditors \ VectorMapsListEditorDemoObject.cs)。

运行ASP.NET应用程序项目的模型编辑器,然后导航到“视图” | “视图”。Factory_ListView | VectorMapSettings节点。在这里,您可以更改地图选项。将IModelVectorMapSettings.LegendType设置为MarkersSizes。您还可以将地图限制为特定区域(默认情况下,使用整个世界的地图)。例如,将IModelVectorMapSettings.Type属性设置为Eurore(“边界”和“几何”类别中的属性值将自动调整)。

VectorMapSettings_PieMarkers示例

请参阅IModelVectorMapSettings接口的成员列表,以查看可用选项的描述。

提示

请注意,IModelListView.EditorType的财产Factory_ListView节点设置为WebVectorMapsListEditor。对于显示IVectorMapsMarker对象的任何列表视图,此操作都是自动完成的。

VectorMapSettings | IntervalItems节点(请参阅IModelIntervalItems)允许您根据气泡标记的关联值对其进行分类。不同类别的气泡标记的大小会有所不同。您可以使用添加... | IntervalItem上下文菜单命令,用于添加子IModelIntervalItem节点以定义类别的边界。

VectorMaps_BubbleMarkersExample_AddInterval

例如,您可以使用以下属性值创建MinValue介于0到10Value介于10到20个子节点。

IModelNode.Index IModelIntervalItem.Title IModelIntervalItem.Value
1个 0
2个 值从0到10 10
3 值从10到20 20

下图演示了这些节点。

VectorMaps_BubbleMarkersExample_Intervals

结果,值在0 ... 10间隔内的地图标记将被分类为“从0到10的值”。值在10 ... 20间隔内的地图标记将被分类为“从10到20的值”。

运行ASP.NET应用程序。工厂列表视图使用WebVectorMapsListEditor列表编辑器及其VectorMapViewer控件进行可视化。您可以使用“新建操作”创建标记。

VectorMaps_BubbleMarkersExample_NewFactory

例如,创建以下工厂。

IBaseMapsMarker.Title IBaseMapsMarker.Latitude IBaseMapsMarker.Longitude IVectorMapsMarker.Value
法国工厂 48.83 2.34 7
英国工厂 51.5 -0.01 12

生成的地图如下所示。工厂在法国工厂在英国的标志物有不同的大小,因为它们的相关值在不同的时间间隔。间隔及其大小列在地图右下角的地图图例中。

VectorMaps_BubbleMarkersExample_TwoFactories

单击一个国家时,将显示“详细信息视图”。例如,单击“法国工厂”,然后将“值”更改为13。结果,两个标记的大小相同,因为它们的关联值位于相同的时间间隔中。

转载保留此链接,注明出处