我创建了sql以从表中检索信息,并为Bing地图创建url。如果我从查询中获取该网址并将其粘贴到浏览器中,则会显示地图图像。
示例:https://dev.virtualearth.net/REST/V1/Imagery/Map/Road?mapSize=600,600&mapLayer=TrafficFlow&format=png&pushpin=35.96981750,-85.03747790;64;1&key=xxx
但是在SSRS中,如果我使用url作为外部图像,则会收到红色的X-in-box。没有错误消息,但也没有图像。
我读到应该有一种“启用外部图像”的方法。我已经选中了图像框。还有其他地方可以更改设置吗?
答案 0 :(得分:1)
我可以毫无问题地制作您的地图。请按照以下说明进行操作,并确保可以重现相同的结果,然后将其与自己的报告进行比较。希望问题会变得明显。
创建一个新报告。
创建一个名为BingMapSample
的新数据集,并使用以下数据集查询,将键替换为您的 Bing映射键
-- set up some static values
DECLARE @BingmapKey varchar(256) = 'XxXX-99x-
9XXXXX9XXxxxXXXxXxXxxxxXxXxx9X9XxxX9xxXxXX9xXXx99x9XXxx'
DECLARE @MapSize varchar(10) = '600'
DECLARE @Layer varchar(256) = 'TrafficFlow'
-- stick a few locations in a table, the first one is from your exmaple
DECLARE @mapLocations TABLE (coords varchar(256))
INSERT INTO @mapLocations VALUES
('35.96981750,-85.03747790'),
('50.998647,-0.105406')
-- now build up some urls to use in the report
SELECT
'https://dev.virtualearth.net/REST/V1/Imagery/Map/Road?mapSize=' + @MapSize + ',' + @MapSize
+ '&mapLayer=' + @Layer
+ '&format=png&pushpin=' + ml.coords
+ ';64;1&key=' + @BingmapKey
AS BingMapSampleURL
FROM @mapLocations ml
现在将图像添加到报告中(使用合理的尺寸)并设置以下内容
External
=First(Fields!BingMapSampleURL.Value, "BingMapSample")
如果运行报告,您应该会看到地图显示。
要在列表中显示两个地图,请执行以下操作
在报告中添加“列表”并设置
BingMapSample
将列表的唯一单元格调整为合理的大小,然后在列表的“单元格”内内部插入图像。设置图像属性,如下所示
External
=Fields!BingMapSampleURL.Value
最终设计看起来像这样...(为清楚起见,我在列表背景上加了阴影)。
如果您运行报告,现在还应该看到另外两张地图,总共三张地图。
运行报告时,我得到了
希望有帮助...