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

    }

  • 相关阅读:
    Canvas 五角星绘制
    Bob Waters
    自定义样式,使用浏览器阅读epub格式的电子书
    FileZilla Server ftp 服务器下通过alias别名设置虚拟目录(多个分区)
    【转载】什么样的妻子什么样的人生
    win10与Ubantu双系统:Linux下开启FTP服务器与创建无线热点(实现文件共享)
    这世上,没有完美的父母,也没有完美的孩子
    考研数学复习建议与资料
    eclipse中修改jsp文件中内容,但是刷新网页内容却不变问题
    JavaScript基础2
  • 原文地址:https://www.cnblogs.com/panyee/p/460088.html
Copyright © 2011-2022 走看看