Google maps ashx处理程序和谷歌地图不显示点
我在使用谷歌地图和ashx处理程序生成地图上的点时遇到问题。 这真的很奇怪,因为我以前经常使用它们,但没有问题 处理程序工作正常,但点不会显示在地图上 因此,生成的文件是:Google maps ashx处理程序和谷歌地图不显示点,google-maps,kml,ashx,Google Maps,Kml,Ashx,我在使用谷歌地图和ashx处理程序生成地图上的点时遇到问题。 这真的很奇怪,因为我以前经常使用它们,但没有问题 处理程序工作正常,但点不会显示在地图上 因此,生成的文件是: <?xml version="1.0" encoding="utf-8"?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <Placemark> <name&g
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark>
<name>Bla</name>
<description><div class="ExternalClassEA84F87DED7745D594D3D4236376E796">dfdfg</div></description>
<Point>
<coordinates>19.8106635766601,41.3390789318785</coordinates>
</Point>
</Placemark>
</Document>
</kml>
布拉
div class=“ExternalClassEA84F87DED7745D594D3D4236376E796”DFG/div
19.8106635766601,41.3390789318785
注意:如果我在谷歌网站上传此kml文件并使用该kml url,则效果良好:/
我用于创建通用处理程序的代码是:
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
context.Response.ContentType = "application/vnd.google-earth.kml+xml";
context.Response.AddHeader("Content-Disposition", "attachment; filename=Pikat.kml");
context.Response.Expires = -1;
XmlTextWriter kml = new XmlTextWriter(context.Response.OutputStream, System.Text.Encoding.UTF8);
kml.Formatting = Formatting.Indented;
kml.Indentation = 3;
kml.WriteStartDocument();
kml.WriteStartElement("kml", "http://www.opengis.net/kml/2.2");
kml.WriteStartElement("Document");
String place = String.Empty;
place = context.Request.QueryString["place"];
if (!String.IsNullOrEmpty(place))
{
#region Places Of Interests
SPListItemCollection places = this.GetPlacesOfInterest(context);
kml = GeneratePlacemarkElementForPlaceOfInterests(kml, places, context);
#endregion
}
private XmlTextWriter GeneratePlacemarkElementForPlaceOfInterests(XmlTextWriter kml, SPListItemCollection places, HttpContext context)
{
int i = 0;
if (places != null)
{
foreach (SPListItem item in places)
{
kml.WriteStartElement("Placemark");
kml.WriteAttributeString("id", String.Format("{0}", i + 1));
// kml.WriteElementString("id", String.Format("{0}", Cases.IndexOf(item) + 1));
kml.WriteElementString("name", item["Title"].ToString());
string HtmlDesc = String.Format(@"<Table width='300px'>
<tr><td><b>Titulli: </b></td><td>{0}</td></tr>
<tr><td><b>Kategoria: </b></td><td>{1}</td></tr>
<tr><td><b>Adresa:</b> </td><td>{2}</td></tr>
<tr><td><b>Pershkrimi:</b> </td><td>{3}</td></tr>
<tr><td><b>Orari:</b> </td><td>{4}</td></tr>
<tr><td><b>Me shume:</b> </td><td>{5}</td></tr>
</table><br/>",
item["Title"] == null ? "--" : item["Title"].ToString(),
item["Category"] == null ? "--" : item["Category"].ToString(),
item["Address"] == null ? "--" : item["Address"].ToString(),
item["Description"] == null ? "--" : item["Description"].ToString(),
item["HoursOfOperation"] == null ? "--" : item["HoursOfOperation"].ToString(),
item["SiteUrl"] == null ? "--" : item["SiteUrl"].ToString());
kml.WriteElementString("description", HtmlDesc);
// show the Geometry
kml.WriteStartElement("Point");
string x = item["Longitude"].ToString(); string y = item["Latitude"].ToString();
kml.WriteElementString("coordinates", String.Format("{0},{1}", x, y));
kml.WriteEndElement(); // </Point>
kml.WriteEndElement(); // </Placemark>
i++;
}
}
return kml;
System.Threading.Thread.CurrentThread.CurrentCulture=System.Globalization.CultureInfo.InvariantCulture;
context.Response.ContentType=“application/vnd.googleearth.kml+xml”;
context.Response.AddHeader(“内容处置”,“附件;文件名=Pikat.kml”);
context.Response.Expires=-1;
XmlTextWriter kml=新的XmlTextWriter(context.Response.OutputStream,System.Text.Encoding.UTF8);
kml.Formatting=格式化.缩进;
kml.压痕=3;
kml.WriteStartDocument();
kml.WriteStarteElement(“kml”http://www.opengis.net/kml/2.2");
kml.书面声明(“文件”);
String place=String.Empty;
place=context.Request.QueryString[“place”];
如果(!String.IsNullOrEmpty(place))
{
#地区及名胜古迹
SPListItemCollection places=this.GetPlacesOfInterest(上下文);
kml=用于放置兴趣(kml、位置、上下文)的GeneratePlaceMarkelement;
#端区
}
专用XmlTextWriter GeneratePlaceMarkelementforPlaceofInterest(XmlTextWriter kml、SPListItemCollection places、HttpContext上下文)
{
int i=0;
if(places!=null)
{
foreach(SPListItem项目位于位置)
{
kml.书面声明(“地标”);
kml.WriteAttributeString(“id”,String.Format(“{0}”,i+1));
//kml.WriteElementString(“id”,String.Format(“{0}”,Cases.IndexOf(item)+1));
kml.WriteElementString(“name”,item[“Title”].ToString());
字符串HtmlDesc=string.Format(@)
提图利:{0}
卡特戈里亚:{1}
地址:{2}
Pershkrimi:{3}
奥拉里:{4}
我说:{5}
“,
item[“Title”]==null?--“:item[“Title”]。ToString(),
item[“Category”]==null?--“:item[“Category”]。ToString(),
item[“Address”]==null?--“:item[“Address”]。ToString(),
item[“Description”]==null?--“:item[“Description”]。ToString(),
item[“HoursOfOperation”]==null?--“:item[“HoursOfOperation”]。ToString(),
item[“SiteUrl”]==null?--“:item[“SiteUrl”].ToString();
kml.WriteElementString(“描述”,HtmlDesc);
//显示几何图形
kml.书面声明(“要点”);
字符串x=项目[“经度”].ToString();字符串y=项目[“纬度”].ToString();
kml.WriteElementString(“坐标”,String.Format(“{0},{1}”,x,y));
kml.WriteEndElement();//
kml.WriteEndElement();//
i++;
}
}
返回kml;
好的,这是一个愚蠢的防火墙问题。
其他一切正常您是如何解决防火墙问题的?