【问题标题】:Google Maps Subgurim - Polygons are not working anymoreGoogle Maps Subgurim - 多边形不再工作
【发布时间】:2014-03-12 09:01:06
【问题描述】:

我正在开发一个基于 ASP.NET 和 Google Maps Subgurim 的地理定位应用程序。

但是,从今天早上开始,我的应用程序中的多边形停止显示。

我以为是我的代码,直到我看到多边形和官方网站无法正常工作。

Official Example of Polygon 有谁知道它为什么停止?甚至是解决方案?我不知道如何联系 Subgurim ...

( 此外,如果您使用 subgurim 控件检查页面,则 javascript 会返回此错误 “未捕获的 InvalidValueError:在索引 0:不是 LatLng 或 LatLngLiteral:在属性 lat:不是数字”)

编辑:我已将所有 "GPolygon" 更改为 "GPolyline" ,效果很好。但是他们只能通过显示一个区域的轮廓来填充 GPolyLine 是不可能的。

【问题讨论】:

    标签: asp.net google-maps subgurim-maps


    【解决方案1】:

    今天它与 Javascript 数组定义有关。

    当您调用 GMap1.Add() 时,您会注意到 polygon.ToString() 在生成的 Javascript 中导致 [[。

    将 [[ 替换为 [ 将解决您的问题。

    如果您使用接受多边形的 Add 重载,则需要稍微更改代码以使用自定义 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 );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      相关资源
      最近更新 更多