有没有人见过在silverlight(2.0)中使用YahooMaps API的例子?特别是JSON API?雅虎发布Flash教程但不发布SL教程。我试图了解如何处理来自服务器的JSON回复,如下所示:
var YAHOO = window.YAHOO || {}; YAHOO.namespace =函数(_1){ 如果(!_ 1 ||!_1.length){ return null; } var _2 = _1.split(“。”); var _3 = YAHOO; for(var i =(_ 2 [0] ==“YAHOO”)?1:0; i< _2.length; ++ i){ _3 [_2 [I] = _ 3 [_2 [I]] || {}; _3 = _3 [_2 [I]]; } return _3; }; YAHOO.namespace( “util的”); YAHOO.namespace( “微件”); YAHOO.namespace( “例如”);
var YMAPPID =“mykey ....”; function _ywjs(inc){var o ='<'+'script src =“'+ inc +'”'+'type =“text / javascript”><'+'/ script>';文件撰写(O); } _ywjs( 'zttp://l.yimg.com/d/lib/common/utils/2/dom_2.0.1-b2.js'); _ywjs( 'zttp://l.yimg.com/d/lib/common/utils/2/event_2.0.0-b2.js'); _ywjs( 'zttp://l.yimg.com/d/lib/common/utils/2/dragdrop_2.0.1-b4.js'); _ywjs( 'zttp://l.yimg.com/d/lib/common/utils/2/animation_2.0.1-b2.js'); _ywjs('zttp://l.yimg.com/d/lib/map/js/api/ymapapi_3_8_2_3.js');<! - xm3.maps.re3.yahoo.com uncompressed / chunked Thu Jul 16 16 :18:46 PDT 2009 - >
(在上面的代码中用http代替zttp,这个网页我发送垃圾邮件)
失败了,OpenStreetMaps怎么样?
答案 0 :(得分:0)
OpenStreetMaps在新的Silverlight Map控件中运行良好。
答案 1 :(得分:0)
BaseUri= "http://us.maps2.yimg.com/us.png.maps.yimg.com/png?v=3.52&t=m&x={0}&y={1}&z={2}";
public override Uri GetUri(int x, int y, int zoomLevel)
{
double posY;
double zoom;
checked
{
zoom = 18 - zoomLevel;
}
double num4 = Math.Pow(2.0, zoomLevel)/2.0;
if (y < num4)
posY = (num4 - Convert.ToDouble(y)) - 1.0;
else
posY = ((Convert.ToDouble(y) + 1) - num4)*-1.0;
return new Uri(String.Format(CultureInfo.InvariantCulture, UriFormat, x, posY, zoom));
}
答案 2 :(得分:0)
如果您使用的是Microsoft技术Silverlight,为什么不使用Bing / Virtual Earth映射SDK。我认为如果你正在做任何事情,除了最简单的地图显示外,它会更容易使用。我最近没有使用它,但当它仍然是CTP时,它有点玩弄它。看起来很容易在地图上添加自定义控件和样式(比如你想用推针标记位置)。
这是我最近发现的一篇文章,应该给你一个快速入门。