3

ポリゴンはマップに表示されないため、ポリゴンの作成に問題があります。このチュートリアルに従ってソリューションを実装しました: http://googlemaps.subgurim.net/ejemplos/ejemplo_94100_Pol%C3%ADgonos.aspx

アプリケーションは、ビジュアル ベーシックで開発されています。ネット フレームワーク バージョン 4。

これは、マップ上にポリゴンを生成するコードの一部です。

Dim latlng As New GLatLng(46, 21)
GMap1.setCenter(latlng, 4)

Dim puntos As New List(Of 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))

Dim poligono As New GPolygon(puntos, "557799", 3, 0.5, "237464", 0.5)
poligono.close()

GMap1.Add(poligono)

私たちが抱えているこの問題を解決する手助けをしてくれる人に感謝します。

添付ファイル 指定された座標に従って配置されている場合、ポリゴンが表示されていないことを考慮して、マップ画像を残します。

4

1 に答える 1

1

今日では、Javascript 配列定義を使用しています。

GMap1.Add() を呼び出すと、polygon.ToString() が結果の Javascript で [[ を引き起こすことに気付くでしょう。

[[ を [ に置き換えると問題が解決します。

ポリゴンを受け入れる Add オーバーロードを使用している場合、カスタム Javascript オーバーロードを利用するには、コードを少し変更する必要があります。

http://en.googlemaps.subgurim.net/ejemplos/ejemplos/ejemplo_94100_Pol%C3%ADgonos.aspxの Web サイトにある最初のポリゴンの例を再現するには、次の行に沿って何かを実行します。

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 );
于 2014-04-15T13:27:12.380 に答える