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

    }

  • 相关阅读:
    Sublime Text 无法使用Package Control或插件安装失败的解决方法
    phpstorm破解
    require
    在线支付
    解决华为手机用rem单位,内容超出屏幕宽度问题
    JS如何判断是不是iphoneX
    iPhoneX页面安全区域与内容重叠问题
    .NET 大数据量并发解决方案
    js 弹出div窗口 可移动 可关闭
    colgroup 整行变色
  • 原文地址:https://www.cnblogs.com/panyee/p/460088.html
Copyright © 2011-2022 走看看