使用谷歌地图或其他发货地图

时间:2018-01-18 23:54:16

标签: google-maps maps bing-maps

是否可以使用谷歌地图或类似的东西生成像图像上的地图? 放大/缩小也必须有效。 最初为法国地图显示1574项,当放大时我们可以看到巴黎1000和里昂574。 enter image description here

1 个答案:

答案 0 :(得分:1)

是的,有几种方法可以做到这一点。如果您只需要一张可以截取屏幕截图的地图,最简单的选择是在Excel中使用地图图表功能。 https://support.office.com/en-us/article/create-a-map-chart-f2cfed55-d622-42cd-8ec9-ec8a358b593b

如果您需要在网络应用中使用此功能,则可以相当轻松地使用Bing地图执行此操作。要像您提供的那样生成地图,请执行以下操作:

  1. 通过将地图类型设置为Mercator来隐藏基本地图。加载地图时,添加mapTypeId: Microsoft.Maps.MapTypeId.mercator作为地图选项。这将为您提供一个空白画布。
  2. 从Bing Spatial Data Services中检索所需国家/地区的边界。使用GeoData API在Bing Maps V8控件中很容易做到这一点:https://www.bing.com/api/maps/sdkrelease/mapcontrol/isdk#sdsLoadMultipleBoundaries+JS
  3. 根据需要与每个边界和颜色代码交叉引用您的数据。以下是一个示例:http://bingmapsv8samples.azurewebsites.net/#GeoData%20Choropleth%20Map
  4. 对于标签,请使用带有透明图标的图钉。文本有三个选项属性;文字,标题,副标题。文本值始终可见,标题和字幕值将隐藏/显示以防止标签之间的冲突,这是很好的。我建议使用国家/地区名称的标题值和值的字幕值。 https://www.bing.com/api/maps/sdkrelease/mapcontrol/isdk#pushpinLabels+JS此外,您需要知道放置图钉的位置。为此,有几个选择。一种是使用Microsoft.Maps.LocationRect.fromShape函数从形状生成LocationRect对象,然后使用它的中心值。这适用于一些但不是所有多边形。另一个选项是加载空间数学模块,然后使用质心函数。 https://msdn.microsoft.com/en-US/library/mt762861.aspx