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

    }

  • 相关阅读:
    JVM系列【2】Class文件结构
    JVM系列【5】JVM常用指令
    JVM系列【4】内存模型
    JVM系列【3】Class文件加载过程
    新编html网页设计从入门到精通 (龙马工作室) pdf扫描版​
    HTML5移动开发即学即用(双色) 王志刚 pdf扫描版​
    HTML5和CSS3实例教程 中文版 高清PDF扫描版
    HTML5+CSS3网站设计教程 (张晓景,胡克) [iso]
    HTML5+CSS3+jQuery Mobile轻松构造APP与移动网站 (陈婉凌) 中文pdf扫描版
    HTML5 Canvas游戏开发实战 PDF扫描版
  • 原文地址:https://www.cnblogs.com/panyee/p/460088.html
Copyright © 2011-2022 走看看