EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:动态更改地图设置

本主题介绍如何自定义的MapViewer被用来控制WebMapsListEditor显示栅格地图在ASP.NET应用程序。在此,假定您具有根据“使用栅格地图”教程创建的应用程序。本主题中描述的方法不适用于移动应用程序。

提示

如果不需要动态更改地图设置,则可以使用“视图” | “地图” 。<ListView> | 模型编辑器中的MapSettings节点(请参阅IModelMapSettings)。

注意

完整的示例在Feature Center演示中可用(请参阅c:\ Users \ Public \ Documents \ DevExpress演示19.2 \ Components \ eXpressApp Framework \ FeatureCenter \ CS \ FeatureCenter.Module.Web \ Maps \ MapController.cs

下面的代码段演示了针对IMapsMarker列表视图的Controller 。它实现了SingleChoiceAction,允许用户选择地图提供者(GoogleBing)。在此Actions的SingleChoiceAction.Execute事件处理程序中,使用ListView.Editor属性访问WebMapsListEditor列表编辑器。然后,使用WebMapsListEditor.MapViewer属性访问MapViewer控件。使用MapViewer.MapSettings可以使用控件的选项(MapSettings对象)。财产。最后,使用MapSettings.Provider属性更改地图提供程序。

using DevExpress.Persistent.Base;
using DevExpress.ExpressApp.Actions;
using DevExpress.ExpressApp.Editors;
using DevExpress.ExpressApp.Maps.Web.Helpers;
// ...
public class MapController : ViewController<ListView> {
    private SingleChoiceAction changeProviderAction;
    public MapController() {
        TargetObjectType = typeof(IMapsMarker);

        changeProviderAction = new SingleChoiceAction(
            this, "Map provider", PredefinedCategory.Edit);
        changeProviderAction.Items.Add(
            new ChoiceActionItem("Google", MapProvider.Google));
        changeProviderAction.Items.Add(
            new ChoiceActionItem("Bing", MapProvider.Bing));
        changeProviderAction.Execute  = changeProviderAction_Execute;
        changeProviderAction.ItemType = SingleChoiceActionItemType.ItemIsMode;
    }
    protected override void OnActivated() {
        base.OnActivated();
        changeProviderAction.SelectedIndex = 0;
    }
    private void changeProviderAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) {
        WebMapsListEditor listEditor = View.Editor as WebMapsListEditor;
        if(listEditor != null) {
            listEditor.MapViewer.MapSettings.Provider = (MapProvider)e.SelectedChoiceActionItem.Data;
        }
    }
}

下图演示了地图提供程序的操作。

Maps_MapProviderAction

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