问题标签 [virtual-earth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
905 浏览

asp.net - Bing 地图开发 - 带标记的地图

我真的很喜欢这个网站的外观: http: //www.microsoft.com/web/WebsiteSpark/Catalog.aspx - 特别是 GIS 部分 - 地图、绿色标记以及地图上的标记如何绑定到列表以下。有人会知道一些关于我如何开始开发这样的东西的资源吗?

这个网站很吸引人,真的很喜欢这些标记。对于我的应用程序,我正在寻求 CRUD 功能,即创建新点、编辑它们、输入新数据和删除它们的能力。

任何帮助将不胜感激。

0 投票
1 回答
1425 浏览

javascript - VEMap:平移和缩放分开工作;在一起,缩放不再有效

我试图使 Bing Maps 的 VEMap 与触摸设备兼容,特别是 iphone / webkit 移动设备。

在以下示例中,此方法有效: - 使用一根手指平移 - 使用捏合(两根手指)放大/缩小

但是,如果我同时将两者放在一起,则缩放不再起作用:您可以在控制台中看到调用了 VEMap.ZoomIn() 或 VEMap.ZoomOut() ,但没有任何反应(没有错误、异常或任何事情,它只是没有做任何事情)。

鉴于http://www.bing.com/maps可以很好地处理触摸和手势,很可能存在一个解决方案,但是该代码是压缩的,所以到目前为止我很困惑,所以任何想法都会有很大的帮助。

0 投票
3 回答
2635 浏览

asp.net-mvc - 虚拟地球/必应地图 - 如何计算最佳缩放级别

我正在研究一些地图的东西,但我遇到了一些似乎很基本的东西。

我正在做的事情的要点是在地图上添加 10 个标志,我需要根据图钉的位置动态设置地图的缩放级别和中心(地图需要在静止时尽可能放大显示所有引脚)。

这与 MultiMap 的预期完全一样,没有任何干预(如预期的那样),但虚拟地球地图表现不佳。如果我不给它一个中心纬度/经度,它默认显示整个美国。

谁能指出我正确的方向以使其正常工作?

编辑:

好的,我能够通过在我的 MVC 控制器中使用以下内容来计算正确的中心

现在我只是试图计算最佳缩放级别

编辑2:

所以我已经从我的控制器中删除了计算并将其添加到我的 Javascript 中。脚本的重量很轻,但将由客户端计算机而不是我的服务器完成计算(如果/当站点开始获得大量点击时,这很有价值)

但是我仍然坚持尝试计算最佳缩放级别

0 投票
2 回答
1276 浏览

iphone - 任何可能的方式来为 iphone 开发 3d 地球地图应用程序?

我需要开发一个类似于虚拟地球或谷歌地球的 iPhone 3d 地图应用程序。该应用程序将在 3D 地图上方叠加图像,例如云或位置图钉。有人对此有任何想法吗?

问候

编辑:这次尝试使短语不模糊:

据我所知,任何 iOS 设备都不支持 google earth 和 microsoft virtual earth api (3d)。我不想使用OpenGL ES从头开始重做所有事情,这是在具有硬件加速的iOS设备中进行3d的唯一方法,我想开发一个具有已建立地图服务的地图应用程序,例如谷歌地图。但是,地图将是 3d 的。

当然,我可以使用 openGL ES 制作一个简单的 3d 地球,其核心地理位置类似于 live earth HD,但我尽量避免这种情况。

0 投票
1 回答
305 浏览

javascript - 为什么 VEMap onclick 事件在其他浏览器中有效,而在 Firefox 中无效?

我有一个带有以下相关代码位的 VEMap 控件:

它在 Chrome 中运行良好,甚至在 IE 中也能正常运行!但是,当我在 Firefox 中加载页面时,单击地图图标时什么也没有发生。经过进一步调查,我发现该事件在所有浏览器中触发并DoContinents运行。在 Chrome 和 IE 中,event.elementID包含我单击的 VEShape 的 ID,但在 Firefoxevent.elementID中为空(即使有一个事件对象)!显然这会导致我的DoContinents事件处理程序中的代码无法运行。为什么这会发生在 Firefox 而不是我的其他浏览器?

0 投票
1 回答
229 浏览

javascript - 为什么我的 MSN 地图中的信息框没有关闭?

我在使用此地图时遇到了一些问题,由内容区域中间的“查看我们的交互式地图”按钮调用。

如果您双击一个点,例如8导致缩放,然后导致信息框出现,则隐藏逻辑是错误的。

如果您尝试关闭x,它将失败。这可能是因为用户点击太快,地图认为它处于缩放模式,而实际上它应该处于信息框模式。

有没有人遇到过这个问题?看起来我必须弄乱window.ero.hide和其他一些功能..因为map.HideInfoBox不隐藏地图。

编辑:使用的脚本在这里。我没有编码,但相关位有:

map.HideInfoBox()应该隐藏信息框。

0 投票
1 回答
3592 浏览

javascript - 必应地图问题 --p_elSource.attachEvent 不是函数

我在使用 Bing 地图时遇到了重大问题。我正在使用: http ://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3

首先,我在萤火虫中遇到错误:

之后,我将 .LoadMap() 调用放在 try-catch 块中。它抛出异常:

p_elSource.attachEvent 不是函数

我已经尝试了以下在 msdn 论坛中推荐的解决方案:

  • 在调用 LoadMap() 之前为 VEMapOptions.BirdseyeOrientation 设置默认值
  • 确保 DOCTYPE 存在

仅当启用 firebug 时才会发生这种情况。

0 投票
2 回答
1668 浏览

javascript - VE Maps v6 抛出的仅限 IE8 的 JS 错误,“抛出异常但未捕获”

MSDN 论坛中,即使是从 Virtual Earth Dev SDK 复制和粘贴最简单的示例,也会导致仅在 IE8 中引发相同的异常。但是,使用http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3的相同示例(代替 ?v=6,即使据称将 ?v=6 转发到 ?v=6.3 ) 修复错误。


注意:此处显示的代码已更新以反映我在遵循建议后最近的尝试——此代码仅在 IE8 中仍然出错!

我有一个页面使用http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6来显示地图。在IE8 中只有一个 JS 错误并且地图不起作用。该地图在所有其他浏览器中运行良好。

抛出异常但未捕获 mapcontrol.ashx?v=6&_=1303145735376,第 149 行字符 618137 throw new VEException("VEMap:cstr","err_invalidelement",L_invalidelement_text);

症状:

  • 虚拟地球库加载得很好。
  • loadMap 没有任何语法错误。
  • 在调用 loadmap() 之前、期间和之后,地图的 div 占位符存在于页面上。
  • 仅在调用 loadmap() 时才抛出错误;不是在库加载时。
  • 该地图在除 IE8 之外的所有浏览器中都显示得很好。
  • IE8 的所有用户每次都会收到错误消息(据我所知,我所有的测试人员都在 XP 上,但可能有一个在 Vista 上)。
  • 在 IE8 中会弹出一个关于错误的通知,我可以在脚本调试器中获得更多信息(上图)。然后在 IE8 中没有地图出现。

最初所有的 JS 都是用 script 标签链接的。那时错误仍然发生。由于各种原因,我现在切换到 yepnope。yepnope 加载的最后一个 JS 文件是与地图相关的 jquery.vemap.js:

基本上,这几乎只存在调用 loadmap(),这是一个与我们的后端代码合作编写的函数。后端代码将其作为嵌入脚本输出到 HTML 中。loadmap() 看起来像:

对 loadmap() 的所有更改仅在我的本地开发机器上进行和测试。到目前为止,对 loadmap() 的任何调整都没有帮助——这并不奇怪,因为在其他页面上使用相同的函数没有问题。

至于修复它,我已经尝试过:

  • 更改 X-UA-Compatible(基于我找到的线程)。

最初我使用的是:

我尝试将其更改为以下内容,因为一些线程提到解决了该问题。

我还尝试完全移除 X-UA-Compatible。这些都没有解决问题,我继续在 IE8 中遇到错误。手动切换兼容模式也没有效果。

  • 更改了 loadmap() 的语法。(最后一次迭代见上文)

    1. 根据论坛上的建议,移动了 pin 代码,以便 map.AddShapeLayer(propertyLayer) 在 propertyLayer.AddShape(propertyPin) 之前完成。IE8 仍然报错。
    2. 在 loadmap() 函数中移动了所有全局声明的变量。IE8 仍然报错。
    3. 确保在 SetClientToken 之后(以及在 HideDashboard 和其他所有内容之前)立即调用 VEMap.LoadMap() 方法。IE8 仍然报错。

示例链接--redacted--。请注意,示例链接不会显示我尝试的修复,因为它是实时的。但是由于尝试的修复并没有解决问题,请忽略它并参考这篇文章以获取仍然不起作用的最新代码。

0 投票
1 回答
5489 浏览

openlayers - openlayers GetFeatureInfo 请求示例 + 虚拟地球/google

我只是从http://openlayers.org/dev/examples/getfeatureinfo-control.html复制了示例代码。

我使用geoserver运行它,一切都像互联网版本一样正常运行,现在我尝试使用虚拟地球地图更改政治基础层。

由于虚拟地球和谷歌地图的性质,我将球墨卡托设置为 true,但之后高亮功能不再起作用。

我想我发现问题出在哪里,我正在创建的矢量与其余图层之间存在不同的投影,而 openlayers 不知道如何合并它们。有没有办法将我的矢量图层从(我认为)epsg:4326 转换为 epsg:900913(sherical mercator)?

在我的代码下面:

0 投票
1 回答
345 浏览

javascript - Bing Virtual Earth 7.0 计算面积

我有一张地图,我在其中为我在 facebook 上签到的所有地方创建了 pushPin。我想放大我拥有最多检查点(pushPins)的区域。

我可以有一个静态缩放级别并计算某种中值,但如果我在巴黎签到 20 次,在洛杉矶签到 20 次,我最终会在大西洋中部(或北太平洋或其他地方)的某个地方.

我有一个包含所有位置(经度和纬度)的数组。