Usuario anónimo  |  Ingresar  |  Regístrate

GMap.ToString

Con el método ToString de la clase GMap se puede recoger el Javascript que va a producir el mapa.

Gracias a esto, se faclitan algunas cosas como el Javascript se va a devolver en un Server event. Basta con inicializar la clase GMap con el GMap_Id, y luego se puede añadir todo lo que de desee: controles, markers, infowindows, etc.

El ejemplo es totalmente clarificador (clickar sobre el mapa):

Code.aspx
<cc1:GMap ID="GMap1" runat="server" enableServerEvents="True" OnClick="GMap1_Click" />
Code.aspx.cs
protected string GMap1_Click(object s, GAjaxServerEventArgs e)
{
    GMap gmap = new GMap(e.map);

    // GMarker and GInfoWindow
    GMarker marker = new GMarker(e.point);
    GInfoWindow window = new GInfoWindow(marker, "Cool!!", true);
    gmap.Add(window);

    // Movement
    //gmap.Add(new GMove(1000, e.point + new GLatLng(25, 38)));
    //gmap.Add(new GMove(1000, e.point));

    // Controls
    gmap.Add(new GControl(GControl.extraBuilt.MarkCenter));
    gmap.Add(new GControl(GControl.preBuilt.LargeMapControl));
    gmap.Add(new GControl(GControl.preBuilt.MapTypeControl));

    // Polylines
    if (e.point != e.center)
    {
        List<GLatLng> points = new List<GLatLng>();
        points.Add(e.center);
        points.Add(e.point);

        gmap.Add(new GPolyline(points, Color.Yellow));
    }

    // Maybe... anything? ;)
    gmap.enableHookMouseWheelToZoom = false;
    gmap.mapType = GMapType.GTypes.Satellite;

    return gmap.ToString();
}
Powered by Subgurim.NET