惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
The Cloudflare Blog
IT之家
IT之家
V
V2EX
雷峰网
雷峰网
MyScale Blog
MyScale Blog
P
Proofpoint News Feed
Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
小众软件
小众软件
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
C
Check Point Blog
A
About on SuperTechFans
B
Blog
月光博客
月光博客
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI

博客园 - Calendar

windows平台下用C#访问HBase Hbase常用命令 CuteEditor测试 Windows 7使用问题 小问题之动态调用另一个程序集里的方法 GM的Hybrid 通过两个点的经纬度计算距离 地震了 下载试用IE 7.0 Beta 3.0 google maps可以支持地理信息查询了(附上功能介绍) - Calendar - 博客园 prototype理解 - Calendar - 博客园 google maps的脚本值得看看 - Calendar - 博客园 google卫星地图的url计算 linux下运行的eclipse的说明 用socket连接pop3服务器遇到的小问题 google maps又更新了 我是如何取得Reflector的真实程序的 对J2ME的想法 MiniQQ与LumaQQ
MapPoint批量导入Pushpin的方法 - Calendar - 博客园
Calendar · 2006-07-26 · via 博客园 - Calendar

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

}