我正在开发一个基于ASP.NET和Google Maps Subgurim的地理定位应用程序。
然而,从今天早上开始,我的应用程序上的多边形停止显示。
我认为这是我的代码,直到我看到多边形和官方网站不能自己工作。
Official Example of Polygon有谁知道它为什么会停下来吗?或者甚至是一个解决方案?我不知道怎么联系苏布瑞姆。
(另外,如果您检查带有subgurim控件的页面,javascript将返回此错误:“在索引0处未捕获InvalidValueError: not a LatLng或LatLngLiteral: in property lat: not a number")
编辑:我已经把所有的"GPolygon“改成了"GPolyline”,它工作得很好。但是,要填充它们只能通过显示一个区域的轮廓来填充的GPolyLine是不可能的。
发布于 2014-04-15 18:52:49
它现在有一些关于Javascript数组定义的东西。
当您调用GMap1.Add()时,您会注意到polygon.ToString()会在生成的Javascript中产生一个[[。
将[[替换为[将解决您的问题。
如果您使用的是Add overload accepting a polygon,则需要稍微更改代码,以使用自定义的Javascript重载。
为了重现位于他们的网站http://en.googlemaps.subgurim.net/ejemplos/ejemplo_94100_Pol%C3%ADgonos.aspx上的第一个多边形示例,可以使用以下代码:
GLatLng latlng = new GLatLng( 46, 21 );
GMap1.setCenter( latlng, 4 );
List<GLatLng> puntos = new List<GLatLng>();
puntos.Add( latlng + new GLatLng( 0, 8 ) );
puntos.Add( latlng + new GLatLng( -0.5, 4.2 ) );
puntos.Add( latlng );
puntos.Add( latlng + new GLatLng( 3.5, -4 ) );
puntos.Add( latlng + new GLatLng( 4.79, +2.6 ) );
GPolygon poligono = new GPolygon( puntos, "557799", 3, 0.5, "237464", 0.5 );
poligono.close();
var objJs = new StringBuilder();
objJs.Append("function addborder" + 0 + "()");
objJs.Append("{");
objJs.Append( poligono.ToString( GMap1.GMap_Id ) );
objJs.Replace("clickable:False", "clickable:false");// ' Replace incorrect False statement
objJs.Append("}");
GMap1.Add( "addborder" + 0 + "();", true );
var objString = objJs.ToString();
var newstring = objString.Replace( "[[", "[" ).Replace( "]]", "]" );
GMap1.Add( newstring );https://stackoverflow.com/questions/22346498
复制相似问题