zoukankan      html  css  js  c++  java
  • MapPoint批量导入Pushpin的方法

    MapPoint中常规方法插入Pushpin是:
    MapPoint.Pushpin pii = map.AddPushpin(loc, "name1");
    if(balloonState == 0)
     pii.BalloonState = GeoBalloonState.geoDisplayBalloon;
    else if(balloonState == 1)
     pii.BalloonState = GeoBalloonState.geoDisplayName;
    else
     pii.BalloonState = GeoBalloonState.geoDisplayNone;
    pii.Symbol = symbol;
    pii.Highlight = highLight;
    pii.Note = "info1";
    但这种方法地插入大量标记时速度非常慢,在4000个时大约需要9分钟。
    机器配置是Pentium(R) D CPU 2.80GHz, 1.00GB内存。

    在微软MapPoint论坛提问,回答说用VC写一个插件来批量插入Pushpin,可以避免Com/Interop的包装时间损耗,速度会快一些。
    但那样的话,客户端布置麻烦。
    因此,我试着用以下方式来提速。
    如果不要求加亮或BalloonState,则速度更快,在5秒钟左右。

    从数据库中读取数据并生成如下格式字符串,
    其中, Name为pushpin的名称, info为提示字段, Latitude和Longitude为点的经纬度坐标

    Name    Info    Latitude    Longitude
    name1   info1    39.9456    75.0861
    nam2     info2    39.9625    75.0875

    再写一个函数实现导入pushpin功能, 并可以设定pushpin的符号, 是否加亮, 提示状态BalloonState.

    protected bool ImportData(string content, int balloonState, bool highLight, short symbol)
    {

        
    construct the fields array

        
    write temp file

        
    import data and set pushpin features

    }

  • 相关阅读:
    ListBox 绑定之-SelectedItem
    tomcat部署web项目的3中方法
    NET 2.0中的字符串比较和方法
    winform WindowsMediaPlayer 属性
    C语言32个关键字解释
    进程间通讯—自定义消息
    常见符号英文表示
    在vs 中运行C程序
    wpf 不是很明白,先记下
    PenTest-log for ging解决方案
  • 原文地址:https://www.cnblogs.com/panyee/p/460088.html
Copyright © 2011-2022 走看看