<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://www.gambas-it.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Usare_il_Metodo_%27.AddPolygon%28%29%27_di_gb.map</id>
	<title>Usare il Metodo '.AddPolygon()' di gb.map - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://www.gambas-it.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Usare_il_Metodo_%27.AddPolygon%28%29%27_di_gb.map"/>
	<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Usare_il_Metodo_%27.AddPolygon()%27_di_gb.map&amp;action=history"/>
	<updated>2026-10-23T09:37:12Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.39.15</generator>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Usare_il_Metodo_%27.AddPolygon()%27_di_gb.map&amp;diff=40210&amp;oldid=prev</id>
		<title>Vuott: Creata pagina con &quot;Il Metodo &quot;.AddPolygon()&quot; del Metodo &quot;.AddShape()&quot; della Classe &quot;Map&quot; consente di creare poligoni (da tre lati in su).  Esso si serve di un &lt;SPAN Style=&quot;text-decoration:underl...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Usare_il_Metodo_%27.AddPolygon()%27_di_gb.map&amp;diff=40210&amp;oldid=prev"/>
		<updated>2024-11-15T23:02:34Z</updated>

		<summary type="html">&lt;p&gt;Creata pagina con &amp;quot;Il Metodo &amp;quot;.AddPolygon()&amp;quot; del Metodo &amp;quot;.AddShape()&amp;quot; della Classe &amp;quot;Map&amp;quot; consente di creare poligoni (da tre lati in su).  Esso si serve di un &amp;lt;SPAN Style=&amp;quot;text-decoration:underl...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Il Metodo &amp;quot;.AddPolygon()&amp;quot; del Metodo &amp;quot;.AddShape()&amp;quot; della Classe &amp;quot;Map&amp;quot; consente di creare poligoni (da tre lati in su).&lt;br /&gt;
&lt;br /&gt;
Esso si serve di un &amp;lt;SPAN Style=&amp;quot;text-decoration:underline&amp;quot;&amp;gt;vettore bidimensionale di tipo &amp;quot;MapPoint&amp;quot;&amp;lt;/span&amp;gt; contenente tre o più Oggetti di tale tipo. All'interno di tale vettore bidimensionale è possibile usare anche la Classe &amp;quot;MapPoint&amp;quot; come statica.&lt;br /&gt;
&amp;lt;BR&amp;gt;La quantità di Oggetti o di Classi statiche di tipo &amp;quot;MapPoint&amp;quot; determina la quantità di angoli costituenti il poligono che verrà disegnato sulla &amp;quot;MapView&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Mostriamo un esempio, nel quale, cliccando con il tasto &amp;lt;U&amp;gt;destro&amp;lt;/u&amp;gt; su quattro punti diversi sulla mappa, si disegnerà un poligono di &amp;lt;U&amp;gt;quattro&amp;lt;/u&amp;gt; lati:&lt;br /&gt;
 Private MapView1 As MapView&lt;br /&gt;
 Private llaa As Float[]&lt;br /&gt;
 Private lloo As Float[]&lt;br /&gt;
 Private &amp;lt;FONT Color=darkorange&amp;gt;mmpp&amp;lt;/font&amp;gt; As &amp;lt;FONT Color=darkorange&amp;gt;MapPoint[][]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Public Sub Form_Open()&lt;br /&gt;
 &lt;br /&gt;
  With Me&lt;br /&gt;
    .W = Screen.AvailableWidth&lt;br /&gt;
    .H = Screen.AvailableHeight&lt;br /&gt;
    .Arrangement = Arrange.Fill&lt;br /&gt;
  End With&lt;br /&gt;
 &lt;br /&gt;
  With MapView1 = New MapView(Me) As &amp;quot;MapView1&amp;quot;&lt;br /&gt;
    .Map.AddTile(&amp;quot;GoogleMap&amp;quot;, &amp;quot;http&amp;amp;#058;//mt0.google.com/vt/lyrs=s&amp;amp;hl=&amp;amp;x={x}&amp;amp;y={y}&amp;amp;z={z}&amp;quot;)&lt;br /&gt;
    .Map.Center = MapPoint(41.8903, 12.49226)&lt;br /&gt;
    .Map.Zoom = 14&lt;br /&gt;
  End With&lt;br /&gt;
  &lt;br /&gt;
 End&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 Public Sub MapView1_MouseDown()&lt;br /&gt;
  &lt;br /&gt;
  Dim pt As New Point(Mouse.X, Mouse.Y)&lt;br /&gt;
  Dim lat As Float = MapView1.Map.PixelToMapPointRel(pt).Lat&lt;br /&gt;
  Dim lon As Float = MapView1.Map.PixelToMapPointRel(pt).Lon&lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;FONT Color=gray&amp;gt;' ''Mostra la latitudine e la longitudine del punto ove si è cliccato:''&amp;lt;/font&amp;gt;&lt;br /&gt;
  Me.Text = &amp;quot;Lat. &amp;quot; &amp;amp; Format(lat, &amp;quot;0.000000&amp;quot;) &amp;amp;&lt;br /&gt;
            &amp;quot;  -  Lon. &amp;quot; &amp;amp; Format(lon, &amp;quot;0.000000&amp;quot;)&lt;br /&gt;
  &lt;br /&gt;
  If Not Mouse.Right Then Return&lt;br /&gt;
 &lt;br /&gt;
  If Not Object.IsValid(llaa) Then &lt;br /&gt;
    llaa = New Float[]&lt;br /&gt;
    lloo = New Float[]&lt;br /&gt;
  Endif&lt;br /&gt;
  llaa.Push(lat)&lt;br /&gt;
  lloo.Push(lon)&lt;br /&gt;
  If llaa.count == 4 Then &lt;br /&gt;
 &amp;lt;FONT Color=gray&amp;gt;' ''Al Metodo &amp;quot;.AddPolygon()&amp;quot; si dovrà poi passare un vettore bidimensionale &amp;quot;MapPoint[][]&amp;quot;:''&amp;lt;/font&amp;gt;&lt;br /&gt;
    &amp;lt;FONT Color=darkorange&amp;gt;mmpp&amp;lt;/font&amp;gt; = [[MapPoint(llaa[0], lloo[0]), MapPoint(llaa[1], lloo[1]), MapPoint(llaa[2], lloo[2]), MapPoint(llaa[3], lloo[3])]]&lt;br /&gt;
 &amp;lt;FONT Color=gray&amp;gt;' ''Volendo si potrebbe anche porre al centro della mappa il poligono disegnato - ad esempio - sulla base delle prime coordinate impostate (ossia del primo vertice impostato):''&lt;br /&gt;
  ' '''MapView1.Map.Center = MapPoint.GetCenter(mmpp[0])'''&amp;lt;/font&amp;gt;&lt;br /&gt;
  Endif&lt;br /&gt;
 &lt;br /&gt;
 End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Public Sub MapView1_MouseUp()&lt;br /&gt;
 &lt;br /&gt;
  If Not Mouse.Right Then Return&lt;br /&gt;
  If llaa.Count &amp;lt; 4 Then Return&lt;br /&gt;
 &lt;br /&gt;
  With MapView1&lt;br /&gt;
 &amp;lt;FONT Color=gray&amp;gt;' ''Si usa dunque il Metodo &amp;quot;.AddPolygon()&amp;quot;, per disegnare sulla &amp;quot;MapView&amp;quot; il poligono, e gli si passa il vettore bidimensionale &amp;quot;mmpp[][]&amp;quot;:''&amp;lt;/font&amp;gt;&lt;br /&gt;
    .Map.AddShape(&amp;quot;polygon&amp;quot;).&amp;lt;FONT Color=red&amp;gt;AddPolygon&amp;lt;/font&amp;gt;(&amp;quot;polygon&amp;quot;, &amp;lt;FONT Color=darkorange&amp;gt;mmpp&amp;lt;/font&amp;gt;, Color.Red, 1, Line.DashDot)&lt;br /&gt;
    .Refresh()&lt;br /&gt;
  End With&lt;br /&gt;
  &amp;lt;FONT Color=darkorange&amp;gt;mmpp&amp;lt;/font&amp;gt; = Null&lt;br /&gt;
  llaa = Null&lt;br /&gt;
  lloo = Null&lt;br /&gt;
 &lt;br /&gt;
 End&lt;br /&gt;
In quest'altro esempio, cliccando con il tasto destro del mouse si individuano sulla &amp;quot;MapView&amp;quot; i punti delle coordinate che rappresentano la tessera (tile), parte della mappa e contenente il punto ove si è cliccato.&lt;br /&gt;
&amp;lt;BR&amp;gt;Tali coordinate formeranno un poligono quadrato.&lt;br /&gt;
 Private MapView1 As MapView&lt;br /&gt;
 Private &amp;lt;FONT Color=darkorange&amp;gt;mmpp&amp;lt;/font&amp;gt; As &amp;lt;FONT Color=darkorange&amp;gt;MapPoint[][]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Public Sub Form_Open()&lt;br /&gt;
 &lt;br /&gt;
  With Me&lt;br /&gt;
    .W = Screen.AvailableWidth&lt;br /&gt;
    .H = Screen.AvailableHeight&lt;br /&gt;
    .Arrangement = Arrange.Fill&lt;br /&gt;
  End With&lt;br /&gt;
 &lt;br /&gt;
  With MapView1 = New MapView(Me) As &amp;quot;MapView1&amp;quot;&lt;br /&gt;
    .Map.AddTile(&amp;quot;GoogleMap&amp;quot;, &amp;quot;http&amp;amp;#058;//mt0.google.com/vt/lyrs=s&amp;amp;hl=&amp;amp;x={x}&amp;amp;y={y}&amp;amp;z={z}&amp;quot;)&lt;br /&gt;
    .Map.Center = MapPoint(41.8903, 12.49226)&lt;br /&gt;
    .Map.Zoom = 14&lt;br /&gt;
  End With&lt;br /&gt;
  &lt;br /&gt;
 End&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 Public Sub MapView1_MouseDown()&lt;br /&gt;
  &lt;br /&gt;
  Dim pt As New Point(Mouse.X, Mouse.Y)&lt;br /&gt;
  Dim tl As Point&lt;br /&gt;
  Dim mb As MapBounds&lt;br /&gt;
 &lt;br /&gt;
  If Not Mouse.Right Then Return &lt;br /&gt;
 &amp;lt;FONT Color=gray&amp;gt;' ''Individua la tessera (tile) della mappa che comprende il punto ove si è cliccato:''&amp;lt;/font&amp;gt;&lt;br /&gt;
  tl = Geo.MapPointToTile(MapView1.Map.PixelToMapPointRel(pt), MapView1.Map.Zoom)&lt;br /&gt;
  mb = Geo.TileBounds(tl.X, tl.Y, MapView1.Map.Zoom)&lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;FONT Color=gray&amp;gt;' ''Al Metodo &amp;quot;.AddPolygon()&amp;quot; si dovrà poi passare un vettore bidimensionale &amp;quot;MapPoint[][]&amp;quot;:''&amp;lt;/font&amp;gt;&lt;br /&gt;
  &amp;lt;FONT Color=darkorange&amp;gt;mmpp&amp;lt;/font&amp;gt; = &amp;amp;#091;[MapPoint(mb.North, mb.Est), MapPoint(mb.North, mb.West), MapPoint(mb.South, mb.West), MapPoint(mb.South, mb.Est)]]&lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;FONT Color=gray&amp;gt;' ''Mostra la latitudine e la longitudine del punto ove si è cliccato, nonché i numeri identificativi (x, y) della tessera corrispondente a quel punto:''&amp;lt;/font&amp;gt;&lt;br /&gt;
  Me.Text = &amp;quot;Lat. &amp;quot; &amp;amp; Format(MapView1.Map.PixelToMapPointRel(pt).Lat, &amp;quot;0.000000&amp;quot;) &amp;amp;&lt;br /&gt;
            &amp;quot;  -  Lon. &amp;quot; &amp;amp; Format(MapView1.Map.PixelToMapPointRel(pt).Lon, &amp;quot;0.000000&amp;quot;) &amp;amp;&lt;br /&gt;
            &amp;quot;  -  Tessera: &amp;quot; &amp;amp; tl&lt;br /&gt;
  &lt;br /&gt;
 End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Public Sub MapView1_MouseUp()&lt;br /&gt;
 &lt;br /&gt;
  If Not Mouse.Right Then Return &lt;br /&gt;
  &lt;br /&gt;
  With MapView1&lt;br /&gt;
 &amp;lt;FONT Color=gray&amp;gt;' ''Si usa dunque il Metodo &amp;quot;.AddPolygon()&amp;quot;, per disegnare sulla &amp;quot;MapView&amp;quot; il poligono, e gli si passa il vettore bidimensionale &amp;quot;mmpp[][]&amp;quot;:''&amp;lt;/font&amp;gt;&lt;br /&gt;
    .Map.AddShape(&amp;quot;polygon&amp;quot;).&amp;lt;FONT Color=red&amp;gt;AddPolygon&amp;lt;/font&amp;gt;(&amp;quot;polygon&amp;quot;, &amp;lt;FONT Color=darkorange&amp;gt;mmpp&amp;lt;/font&amp;gt;, Color.Red, 1, Line.DashDot)&lt;br /&gt;
    .Refresh()&lt;br /&gt;
  End With&lt;br /&gt;
 &lt;br /&gt;
 End&lt;/div&gt;</summary>
		<author><name>Vuott</name></author>
	</entry>
</feed>