不确定这是否是问这个问题的正确方法,但这是问题所在.
鉴于纬度为26.746346081599476,如何找到数字26.75作为第16个大于数字而26.6875作为第16个低于数字?
26.0
26.0625
26.125
26.1875
26.25
26.3125
26.375
26.4375
26.5
26.5625
26.625
26.6875
My Number: 26.746346081599476
26.75
26.8125
26.875
26.9375
27.0
Run Code Online (Sandbox Code Playgroud)
我正在使用JavaScript,所以答案是有帮助的,但不是必需的.我可以蛮力,但我正在寻找优雅的方式去做.
更大的图景是我想为我正在研究的地图应用程序创建标准图块.我们正在使用Bing地图,每次用户平移或放大时我都会按需加载数据.利用服务器端缓存来处理这些请求会很好,所以如果我标准化发送到服务器的查询,我会得到一些缓存命中.如果我没有标准化对服务器的请求,则同一用户极不可能同时查看确切的某个位置.
因此,有越来越缓存的机会较高,不但有:/path/data.json?tl=26.6875,-80.6875&br=26.75,-80.75比:/path/data.json?tl=26.74946187679896,-80.10930061340332&br=26.743234270702878 ,-80.09607195854187
我们也欢迎任何开箱即用的答案.
我有一个包含订单的数据库,每个订单都有一个关联的位置.Currentl,当用户登录时,我使用Bing Maps API对每个订单位置进行地理编码,然后计算到登录用户的行车距离.根据这些距离,用户可以通过下拉框指定最大距离,并在网格视图中显示结果.但是,如果订单超过100个,则流程变得非常缓慢.我希望有一些关于优化bing查询的技巧,可能会缓存结果(这样可以重用它们而无需重新访问bing maps api)或者利用Ajax以某种方式对后台处理订单.谢谢.
是否有任何第三方库或SDK(商业或开源)可以直接在Bing应用程序中集成Bing Maps?既然Bing Maps Mobile可以免费用于面向消费者的应用程序,那么它就是一个非常引人注目的选择.
Nutiteq提供了迄今为止我发现的唯一选择(缺乏内部开发).希望还有其他人.
提前致谢.
在给定城市名称或纬度/长度组合的情况下,是否有用于查找附近城市的Bing API?
微软最近发布了Bing地图目标c组件.
他们提到限制条款较少:
我们认为您会发现使用条款的限制性比您在Apple Map Kit中找到的限制更少,不会牺牲功能.
这到底是什么意思呢?我们现在可以将地图图像保存在我们的应用程序中以供离线使用吗?
我在这里找到的bing maps示例Polygon Search遇到了一些问题:
public bool polygonSearch(LocationCollection points, double lat, double lon)
{
MapPolygon poly = new MapPolygon();
int i = 0;
int j = points.Count - 1;
bool inPoly = false;
for (i = 0; i < points.Count; i++)
{
if (points[i].Longitude < lon && points[j].Longitude >= lon || points[j].Longitude < lon && points[i].Longitude >= lon)
{
if (points[i].Latitude + (lon - points[i].Longitude) / (points[j].Longitude - points[i].Longitude) * (points[j].Latitude - points[i].Latitude) < lat)
{
inPoly = !inPoly;
}
} …Run Code Online (Sandbox Code Playgroud) 我正在使用Microsoft.Maps API(AJAX控制v.7).我想显示一个地址的引脚.我用的时候:
var loc = new Microsoft.Maps.Location(47.592, -122.332);
var pOptions = {icon: 'img/ICN_Bullet_Blue_25x38.gif', text: '1'};
var pin = new Microsoft.Maps.Pushpin(loc, pOptions);
Run Code Online (Sandbox Code Playgroud)
它工作正常.如何从地址获取纬度和经度,以便稍后将其用于引脚位置?
如何通过Ajax API将多个图钉添加到Bing map v7 ..?
它们可以从数组,列表,json或其他任何地方加载.
有人可以提供一个小例子吗?谢谢
我试图添加多个图钉与单独的信息框.这意味着每个图钉都有自己的信息框和自己的信息.有一个loop.inside
latlng = new Microsoft.Maps.Location(latitude[pointerCount], longtitue[pointerCount]);
MarkingLocation[pointerCount] = new Microsoft.Maps.Pushpin(latlng, {icon:"marker2.ico", height:50, width:50, anchor:new Microsoft.Maps.Point(0,50)});
myInfobox = new Microsoft.Maps.Infobox(latlng, myinfoboxOption);
Microsoft.Maps.Events.addHandler(MarkingLocation[pointerCount], 'click', function() {myInfobox.setOptions({ visible:true });});
map.entities.push(MarkingLocation[pointerCount]);
map.entities.push(myInfobox);
Run Code Online (Sandbox Code Playgroud)
问题是它只显示每个图钉的最后一个信息框.假设我在Londom,法国,德国,美国有4个图钉.现在无论我点击了哪一个引脚,它都只显示美国信息图片上的美国信息图片.请任何人帮助我一直缺少的信息.........
还有一件事,任何人都可以展示在信息框中使用htmlContent的方法.我试图设置它的thrugh选项,但它并不担心......
myinfoboxoption = {width:300,
height: 100,
title: str_loc,
htmlContent: htmlc,
showPointer: false,
offset: new Microsoft.Maps.Point(-100,0)};
Run Code Online (Sandbox Code Playgroud)
请帮忙........
我一直在使用MapControl创建一个UWP应用程序,但是当我运行应用程序时,我在底部角落出现错误"警告:未指定MapServiceToken".我使用的XAML如下:
<Maps:MapControl x:Name="MapControl1" Loaded="mapLoaded" ZoomLevelChanged="mapZoomChanged" MapServiceToken="AqK9nK0h_LngGSC8pHPzBJvl62yf617zRytgimB3fyYqdJPljcB-EGm3llmUUrlI"/>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我已经指定了MapServiceToken,并且我也尝试使用C#指定它,但没有运气.
MapService.ServiceToken = "AqK9nK0h_LngGSC8pHPzBJvl62yf617zRytgimB3fyYqdJPljcB-EGm3llmUU...";
MapControl1.MapServiceToken = "AqK9nK0h_LngGSC8pHPzBJvl62yf617zRytgimB3fyYqdJPljcB-EGm3llmU...";
Run Code Online (Sandbox Code Playgroud)
我使用www.bingmapsportal.com获取我的令牌,但我也尝试使用Windows开发人员中心的应用程序ID和身份验证令牌.有任何想法吗?