创建虚拟地球(Bing)地图,以在特定点显示简单的引脚。现在一切正常 - 引脚显示,标题和说明在悬停时弹出。
地图最初完全放大到引脚,但是STRANGE问题是当我缩小时它会在地图上稍微向下移动。因此,如果我开始使用指向多伦多某处的针脚,如果我缩小到足够的数量,那么针脚会在安大略湖中间结束!如果我平移地图,则引脚正确地保持在正确的位置。当我放大时,它会稍微向上移动,直到它恢复到原来的正确位置!
我已经寻找了一段时间的解决方案,但我根本无法理解它。请帮忙!!
非常感谢!
import with javascript: http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2
$(window).ready(function(){
GetMap();
});
map = new VEMap('birdEye');
map.SetCredentials("hash key from Bing website");
map.LoadMap(new VELatLong(43.640144 ,-79.392593), 1 , VEMapStyle.BirdseyeHybrid, false, VEMapMode.Mode2D, true, null);
var pin = new VEShape(VEShapeType.Pushpin, new VELatLong(43.640144 ,-79.392593));
pin.SetTitle("Goes to Title of the Pushpin");
pin.SetDescription("Goes as Description.");
map.AddShape(pin);
答案 0 :(得分:4)
我遇到了同样的问题。但是,我的代码看起来使用的是Microsoft.Maps AJAX方法。 我在查询facebook的api for user_events和friend_events时获得的bing地图上设置了事件的位置。一个事件以纬度和经度返回给我。 我使用这些坐标为单个引脚和群集引脚放置一个自定义样式的引脚。 当我缩小时,魔药会移动,并提供关于事件位置的不真实的表示。
我发现你必须为图钉设置“锚”属性。
这是我发现的效果很好。
var pushpinOption = {
icon : 'images/cluster_custom.png',
text : ''+ clusterInfo.dataIndices.length + '',
textOffset:offset,
anchor : new Microsoft.Maps.Point(8, 8)
};
资源: 使用锚定pushpinoption的示例 注意*查看“加载模块群集” 您需要单击“加载模块”部分中的第一个链接 http://www.bingmapsportal.com/isdk/ajaxv7#LoadingDynamicModule2
图钉选项“锚”的文档 http://msdn.microsoft.com/en-us/library/gg427629.aspx
答案 1 :(得分:0)
不完全是你正在寻找的答案,但是,我确实遇到了问题,并发现我的引脚上发生了“移动”,我已经宣布了比例变换。
StoreEditPushPin pin = new StoreEditPushPin(Colors.Red);
pin.Location = new Location(43.640144 ,-79.392593);
ScaleTransform st = new ScaleTransform();
st.ScaleX = 0.55;
st.ScaleY = 0.55;
pin.RenderTransform = st;
PushPinLayer.AddChild(pin, d);
缩小时,比例因子将应用于引脚,并且位置会发生偏移。我会看看你的Pushpin类,看看转换是否存在。
答案 2 :(得分:0)
尝试将PositionOrigin添加到图钉,将其设置为“中心”或其他任何内容。