2016-09-29 4 views
0

目前,我有我的asp.net代码生成该网址自定义图标:为什么不能我似乎使用从ASP.net产生与谷歌地图API静态标记

https://maps.googleapis.com/maps/api/staticmap?center=57.145329,-2.10066&zoom=13&size=600x300&maptype=roadmap&markers=icon:http://localhost:63709/ShowMapIcon.ashx?id=21|57.145329,-2.10066&key=AIzaSyCysdGK0acTzKqW01IPvUanvPwFSXfX-NE

(现在显然是其他任何人不会工作,由于它是目前本地托管)

这会产生这样的图像: Image without correct marker

现在,如果I R E将 “http://localhost:63709/ShowMapIcon.ashx?id=21

随着 ​​

随后的作品: https://maps.googleapis.com/maps/api/staticmap?center=57.145329,-2.10066&zoom=13&size=600x300&maptype=roadmap&markers=icon:https://www.megaadresse.com/images/icons/google-maps.png|57.145329,-2.10066&key=AIzaSyCysdGK0acTzKqW01IPvUanvPwFSXfX-NE

(你可以测试:))

但是,如果我直接去:

http://localhost:63709/ShowMapIcon.ashx?id=21

然后我看到图像: Image Downloaded From Map Icon

那么,为什么我生成的链接的工作?经过一些试验和错误后,我发现标记图像必须低于64 * 64像素,所以为了排除其他任何怪异的情况,我将megaadresse图像上传到我们的数据库,并从我的asp.net地址和网址下载图像后他们看起来完全相同: Picture Details

我最好的猜测是,由于ShowMapIcon.ashx.cs本身生成图像,从字节数据库(我不知道为什么它这样做的方式,传统的代码)是什么不知何故,地图是在showmapicon之前生成的?

但它也可能是用asp.net一个语法冲突(我要看看我能不能写周围的一些测试)

,或者可能只是被我完全误解了谷歌的API?

如果任何人有建议,我将非常感激

注:我试图嵌入到PDF谷歌地图图像,所有这一切都是进入iTextSharp的的图像单元的网址,所以我最好是将逻辑保存为一个以img标签有效url结尾的格式,我可以发送ITextsharp。因此,这将需要工作像它下面的代码片段:

<img src= "https://maps.googleapis.com/maps/api/staticmap?center=57.145329,-2.10066&zoom=13&size=600x300&maptype=roadmap&markers=icon:https://www.megaadresse.com/images/icons/google-maps.png|57.145329,-2.10066&key=AIzaSyCysdGK0acTzKqW01IPvUanvPwFSXfX-NE">

回答

2

首先请问谷歌的API知道什么是本地主机? Google地图请求正在关闭,并从Google服务器上检索所述位置的地图,然后尝试从它没有提及的图像创建自定义标记,因为它位于您的工作网络本地

+0

铢当然!现在感觉非常愚蠢,没有考虑到谷歌服务器将访问该网址! – chrispepper1989