我工作的一个团队目前处于不幸的境地.他们花了很多时间在他们的网站上集成谷歌地图控件,但他们没有发现在https网站上运行谷歌地图你必须许可控制(并且它不便宜)和bing一样地图.
所以我的问题是你知道任何更便宜/免费的地图控件,如谷歌或冰映射?
如何在Bing Maps控件中添加"你在这里"标记?在电话上,这表示为正方形内的圆圈,然后有一个表示位置精度的外圆.
看起来你可以使用图钉和polgon来做,但我希望有一个更容易/更好的方法
有人知道 Bing 是否提供类似 Google Places 的 API 吗?
谢谢!
我正在使用Bing Maps v7控件.
我有一系列纬度/经度点.(类型Microsoft.Map.Location)
从该数组中,我可以使用生成矩形和矩形的中心 LocationRect.fromLocations()
使用Map构造函数创建地图时,我可以使用该矩形的中心来居中地图.它看起来像这样:
var LLA = [
new Microsoft.Maps.Location(43.386,-111.6123),
new Microsoft.Maps.Location(43.4929, -112.0349),
new Microsoft.Maps.Location(43.2609,-115.7811),
...
];
var r = Microsoft.Maps.LocationRect.fromLocations(LLA);
var mapOptions = {
credentials : bingMapsKey,
center : r.center,
mapTypeId : Microsoft.Maps.MapTypeId.road,
zoom : 7
},
elt = document.getElementById('out2');
var map = new Microsoft.Maps.Map(elt, mapOptions);
Run Code Online (Sandbox Code Playgroud)
这是有效的,创建的地图以这些点为中心.如何设置Bing Map的缩放级别,以便显示整个矩形?
我正在研究通过 http 请求执行批量地理编码的方法,并以 JSON、XML 或任何 pHp 可以在服务器端处理的形式返回响应。
一批地址的数量是数百个。仅当数据返回后我可以将数据存储在我自己的服务器上时,此移动网络应用程序的每个用户才会发出一个请求(一批)。
对于想要做类似事情的人来说,总结一下:
我来到 Bing 并根据他们的条款看到了这一点:(http://www.microsoft.com/maps/product/terms.html)
(c) 在任何 24 小时内,使用 Bing 空间数据服务 API 进行的地理编码或文件上传总数超过 24 批,每批最多 200,000 条记录。
熟悉 API 或地理编码的人可以告诉我,这是否意味着我一天只能发出 24 个请求,每个请求不包含超过 200,000 条记录?
此类条款将使该服务对于根据用户数据发出此类请求的应用程序毫无用处。
我也可以投资免费增值服务,如果有人知道其他提供商吗?
我有这个功能,根据用户输入的地址返回bing地址建议.我已经指定了userLocation,但结果并不像我想象的那样准确.我还有什么额外的事吗?如果必须,我可以手动指定州或邮政编码,但我宁愿避免进行后期处理.
例如,键入111将返回111,NY,111 Sweden,111 Denmark的结果.我想将此限制为仅限于美国,并且仅限于几个我可以硬编码的状态.当我在数据中手动指定postalCode的选项时,它会覆盖我在查询中使用的内容.
var geolocate = function(options) {
$.ajax({
url: "http://dev.virtualearth.net/REST/v1/Locations",
dataType: "jsonp",
data: {
key: "KEY",
q: options.address,
userLocation: options.latitude + ',' + options.longitude,
maxResults: options.maxResults,
},
jsonp: "jsonp",
success: function(data) {
if (options.success instanceof Function) {
options.success(data);
}
},
error: function(xhr, status, text) {
alert('ERROR:\n');
}
});
};
Run Code Online (Sandbox Code Playgroud) Google 提供了 google 地方 API ( https://developers.google.com/places/documentation/ ) 来获取本地列表信息。
前网址:http : //www.google.com/maps/place? source = uds&q = Priority+Computer+Solutions,&cid= 13222445107995448542
Bing 是否有提供列表信息的类似机制?我尝试使用 BingMaps REST Locations API但它仍然缺少一些信息,如电话号码、企业网址等......
甚至 Bing 也使用以下 url 提供了足够的信息:
bing local 是否有提供上述 URL 信息的 API?
基本上我需要任何商业列表地址,包括它的电话号码和 URL。我只想尝试使用 Bing。
谢谢!
因此众所周知,这些地图,无论是常规街道地图还是卫星地图,在中国的特定地区都无法正确排列。那么哪个地图排列正确,是卫星地图还是默认街道地图?一些网站表明卫星地图是正确的。但谷歌地理编码器在谷歌街道地图上正确放置位置,而不是在卫星地图上。那么,如果卫星地图被认为与中国正确对齐,是否意味着谷歌地理编码器也返回了中国位置的错误坐标?我还没有找到这方面的任何官方文件。
我正在尝试使用 MapControl,显示当前查看位置的 MapIcon。
在我的 XAML 中,我有:
<Maps:MapControl x:Name="MapControl" ZoomLevel="14" Center="{Binding Geopoint, Mode=OneWay}" Margin="-12,0,-12,0" Tapped="directions_Click" Height="200" MapServiceToken="{StaticResource BingMapsKey}" PanInteractionMode="Disabled" RotateInteractionMode="Disabled">
<Maps:MapIcon Location="{Binding Geopoint}" Title="{Binding AttractionName}" />
</Maps:MapControl>
Run Code Online (Sandbox Code Playgroud)
我绑定的项目正在页面上的其他地方使用(例如地图中心在正确的位置),但 MapIcon 没有显示,也没有给出任何关于为什么的提示?
就我从 MSDN 中看到的而言,我应该能够以这种方式进行绑定(尽管专门针对<MapIcon>s的示例是动态添加它们,但它确实显示了直接在 XAML 中绑定的其他 XAML 对象)。我在这里标记了错误的 XAML 吗?
我在地图上添加了一些图钉,然后“调整大小”或“正确缩放”它,以便显示所有图钉,但远边缘的图钉几乎不在边界内,如下所示:
但是,如果只有一个图钉(如以下爱荷华州的情况,它只进行了一场内战),而不是尽可能接近零,它会一直缩小到 Skylab,如下所示:
这是我用来“调整大小”地图的代码:
private void RightsizeZoomLevelForAllPushpins()
{
try
{
// Set the view so that all pushpins are displayed, with a bit of a margin around them
// from /sf/ask/4604565311/#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); …Run Code Online (Sandbox Code Playgroud)