在Silverlight 2应用程序中集成Virtual Earth
2008-10-09 11:39:09 来源:WEB开发网<div id='mapContainer' style="position:relative; width:500px; height:300px;"></div>
编写一段脚本,定义一个silverlight变量,该变量在此处虽然没有做任何事,但它将会在views.js文件中被运用:
<script type="text/javascript">
var silverlight = null;
function pluginLoaded(sender,args)
{
silverlight = document.getElementById('Silverlight');
}
</script>
编写Silverlight Object,指定onLoad事件,如下代码所示:
<div id="silverlightControlHost" style="position:absolute; width:300px; height:480px;
left:10px; top:320px; z-index:2">
<object data="data:application/x-silverlight," type="application/x-silverlight-2-b2"
style="width:500px;height:50px;border-width:0;" id="Silverlight">
<param name="onLoad" value="pluginLoaded" />
<param name="source" value="ClientBin/SilverlightIntegrateVirtualEarth.xap"/>
<param name="background" value="white" />
</object>
</div>
现在来看Silverlight中的代码编写,首先引入ScriptInterop.dll和VIEWS.dll两个程序集,并引入相关的命名空间。在Page_Loaded事件中加入:
void Page_Loaded(object sender, RoutedEventArgs e)
{
VEMap map = new VEMap("mapContainer");
HtmlPage.RegisterScriptableObject("SLMAP", map);
map.LoadMap();
}
代码非常简单,创建一个VEMap对象,这里的mapContainer就是我们刚才定义的地图容器,而SLMAP则是注册的对象别名,注意这个名称不能修改,因为在views.js中将会用到。现在运行后可以看到加载的地图:
现在我们再看一下如何在Silverlight中加入查找位置的功能,代码非常简单:
VEMap map;
void Page_Loaded(object sender, RoutedEventArgs e)
{
map = new VEMap("mapContainer");
HtmlPage.RegisterScriptableObject("SLMAP", map);
map.LoadMap();
}
void btnFind_Click(object sender, RoutedEventArgs e)
{
map.Find(null, this.txtWhere.Text);
map.LoadMap();
}
效果如下图所示:
除此之外,我们还可以开发更加复杂的应用,如添加层、实现3D效果等,下面是作者给出的一个示例效果:
总结
本文简单介绍了如何使用VIEWS项目实现Silverlight 2与Virtual Earth的集成,希望对大家有所帮助。
Tags:Silverlight 应用程序 集成
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››应用程序的配置管理Poco
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››集成医疗保健服务,第 2 部分: 使用 Apache Servi...
- ››Silverlight for Symbian
- ››应用程序开发者偏好苹果也关注Android
- ››集成医疗保健服务,第 1 部分: 将 Enterprise Ser...
- ››集成 Rational Software Architect 和 Rational D...
更多精彩
赞助商链接