- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 map 上添加了一些图钉,然后“调整大小”或“正确缩放”它,以便显示所有图钉,但远边缘的图钉几乎不在边界内,如下所示:
但是,如果只有一个图钉(如以下爱荷华州的情况,它只有一场内战),而不是尽可能接近零,它会一直缩小到 Skylab,如下所示:
这是我用来“调整大小” map 的代码:
private void RightsizeZoomLevelForAllPushpins()
{
try
{
// Set the view so that all pushpins are displayed, with a bit of a margin around them
// from https://stackoverflow.com/questions/65779504/how-to-set-the-zoom-level-of-bing-map-to-just-wide-enough-to-display-all-pushpin/65781319#65781319
var map = this.userControl11.myMap;
var locations = map.Children.OfType<Pushpin>().Select(x => x.Location);
//Margin
var w = new Pushpin().Width;
var h = new Pushpin().Height;
var margin = new Thickness(w / 2, h, w / 2, 0);
//Set view
map.SetView(locations, margin, 0);
currentZoomLevel = Convert.ToInt32(map.ZoomLevel);
UncheckAllZoomLevelToolstripMenuItems();
SetZoomMenuItem();
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
如何使单图钉 map 不仅居中而且尽可能放大?
private void RightsizeZoomLevelForAllPushpins()
{
try
{
// Set the view so that all pushpins are displayed, with a bit of a margin around them
var map = this.userControl11.myMap;
var locations = map.Children.OfType<Pushpin>().Select(x => x.Location);
if (locations.Count() == 1)
{
map.setView(locations[0], singlePinZoom);
}
else if (locations.Count() > 1)
{
//Margin
var w = new Pushpin().Width;
var h = new Pushpin().Height;
var margin = new Thickness(w / 2, h, w / 2, 0);
//Set view
map.SetView(locations, margin, 0);
}
currentZoomLevel = Convert.ToInt32(map.ZoomLevel);
UncheckAllZoomLevelToolstripMenuItems();
SetZoomMenuItem();
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
他们是:
1>C:\Users\bclay\source\repos\MyMaps\MyMaps\Form1.cs(155,33,155,45): error CS0021: Cannot apply indexing with [] to an expression of type 'IEnumerable<Location>'
1>C:\Users\bclay\source\repos\MyMaps\MyMaps\Form1.cs(155,25,155,32): error CS1061: 'Map' does not contain a definition for 'setView' and no accessible extension method 'setView' accepting a first argument of type 'Map' could be found (are you missing a using directive or an assembly reference?)
顺便说一句,在编译项目之前,我在 Visual Studio 中看不到任何错误(它在输入错误时停止发现错误)。我不知道为什么......我没有改变任何设置......
private void RightsizeZoomLevelForAllPushpins()
{
const int LEFT_TOP_RIGHT_MARGIN_ADDITION = 16;
const int BOTTOM_MARGIN_ADDITION = 48;
try
{
// Set the view so that all pushpins are displayed, with a bit of a margin around them
// from https://stackoverflow.com/questions/65779504/how-to-set-the-zoom-level-of-bing-map-to-just-wide-enough-to-display-all-pushpin/65781319#65781319
var map = this.userControl11.myMap;
var locations = map.Children.OfType<Pushpin>().Select(x => x.Location);
//Margin
var w = new Pushpin().Width;
var h = new Pushpin().Height;
var margin = new Thickness((w / 2) + LEFT_TOP_RIGHT_MARGIN_ADDITION,
h + LEFT_TOP_RIGHT_MARGIN_ADDITION,
(w / 2) + LEFT_TOP_RIGHT_MARGIN_ADDITION,
0 + BOTTOM_MARGIN_ADDITION);
//Set view
map.SetView(locations, margin, 0);
currentZoomLevel = Convert.ToInt32(map.ZoomLevel);
UncheckAllZoomLevelToolstripMenuItems();
SetZoomMenuItem();
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
最佳答案
单个图钉没有单一的缩放级别,最佳缩放级别取决于您的场景或图钉的含义,以及 map 的大小,因为缩放和 map 大小都决定了可视区域。例如,如果您的图钉代表一所房子,您可能希望 map 放大得比代表城市时放大。
也就是说,这是您的代码的修改版本,它将处理单针场景并使用您选择的静态缩放级别:
private double singlePinZoom = 15;
private void RightsizeZoomLevelForAllPushpins()
{
try
{
// Set the view so that all pushpins are displayed, with a bit of a margin around them
var map = this.userControl11.myMap;
var locations = map.Children.OfType<Pushpin>().Select(x => x.Location);
if(locations.Count() > 0) {
//Margin
var w = new Pushpin().Width;
var h = new Pushpin().Height;
var margin = new Thickness(w / 2, h, w / 2, 0);
//Set view
map.SetView(locations, margin, 0);
} else(locations.Count == 1) {
map.setView(locations[0], singlePinZoom);
}
currentZoomLevel = Convert.ToInt32(map.ZoomLevel);
UncheckAllZoomLevelToolstripMenuItems();
SetZoomMenuItem();
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
关于c# - 当只有一个图钉时,如何确定 Bing map 的正确缩放级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66396195/
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
有什么方法可以以编程方式获取 Bing 背景图像吗? Bing的API似乎没有提供这样的功能,也许还有其他方法? 最佳答案 我认为最好的方法是通过 AJAX 调用来模仿他们自己的做法。 他们调用此 U
我正在开发一个带有必应 map 的网络应用程序。我使用这种方法来更改航点图钉图标: directionsManager.setRenderOptions({ itineraryCont
我正在尝试使用单独的信息框添加多个图钉。这意味着每个图钉都会有自己的信息框,其中包含自己的信息。里面有一个循环 latlng = new Microsoft.Maps.Location(latitud
如何通过 Ajax API 将多个图钉添加到 Bing map v7..? 它们可以从数组、列表、json 或其他任何地方加载。 有人可以提供一个小例子吗?谢谢 最佳答案 您可以使用EntityCol
我正在尝试将 3d 图像添加到 Bing map ,但是我的工作电脑没有互联网连接,我想知道如何在没有互联网可用的情况下向 Bing map 添加内容。有什么方法可以下载 bing map 示例,让我
我想使用 bing search api 来获取给定查询的搜索结果计数,但是,Bing API 似乎没有返回任何包含搜索结果计数的字段。 我应该指定一些选项来请求 URL 吗?或者 Bing API
我在网站上申请了 bingmaps ajax controll v7。我面前有一个任务:应用生产 URL。整个文档使用的引用 map :http://ecn.dev.virtualearth.net/
如何去掉 Bing map 顶部的导航栏?该栏有道路和自动选择器以及鸟瞰和空中选择器。 最佳答案 Microsoft.Maps.loadModule('Microsoft.Maps.Themes.Bi
如果您在同一地理位置有“伦敦”上的 2 个图钉,API 中是否有任何内容可以将它们分开以使它们都可见? 我只能找到有关具有 PreventIconCollisions 功能的旧 map 点 API 的
我有一个带有图钉和簇的 Bing map 。 我注意到此组合中存在性能问题和错误。我已经设置了一个 demo使用 official docs 中的代码. 第一个问题:缩放后 Pin 图点击处理程序不再
我想做的是通过 ajax API 显示以英国邮政编码为中心的小型 bing 生成 map 。我相信这是可能的;我在 Bing map 文档中找不到如何将英国邮政编码转换为可以插入 map Ajax 控
鉴于 Bing API 文档主要由一个错误缠身的两页 Word 文档组成,我无法在网上找到答案。反复试验产生了不一致的结果,考虑到查询需要花钱,我宁愿不再猜测和检查。 新的“Azure 市场”Bing
如何将“你在这里”标记添加到 Bing map 控件?在手机上,这表示为正方形内的圆圈,然后有一个外圆圈表示位置精度。 看起来你可以用图钉和 polgon 来做,但我希望有一种更简单/更好的方法 最佳
有人知道为什么普通 bing.com 和 bing api 2.2 的搜索结果不同吗? 例子: http://api.search.live.net/xml.aspx?Appid=yourid&que
鸟瞰图似乎在 V8 中不再可用。 谁能确认事实确实如此,或者在新版本中是否还有任何方法可以继续使用鸟瞰图? 微软关于这方面的文档很差,所以我只是把各种来源的信息拼凑在一起。 例如: 1. 在他们的 M
我正在使用 Microsoft.Maps API(AJAX control v. 7)。 我想显示地址的 pin。 当我使用: var loc = new Microsoft.Maps.Locatio
我找到了 link text对于 Google,但我想知道 Bing 是否有等价物? 最佳答案 谷歌搜索“bing static maps api”时的第二个链接... http://social.m
我想开始将 Bing 用于一个项目,其中包括计算点之间的最短路线,以及在 map 上绘制路线等。 但是,除了 Bing Maps,还有 VirtualEarth 和 MapPoint。所有这些产品如何
我已经 checkout their page on error handling但它所拥有的只是对请求可能返回的状态代码的描述。如果我超过每天允许的请求数量,bing 是否提供信息一将返回什么? 最
我是一名优秀的程序员,十分优秀!