ThinkGeo.com    |     Documentation    |     Premium Support

Dynamically Add Map to Web Page

I am trying to dynamically add the map to a web page, but I get a Javascript Error? Any Ideas?


JavaScript Error:


Expected ';' Line 67 Char 40





<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test2.aspx.cs" Inherits="Test2" %>

<%@ Register Assembly="WebEdition" Namespace="ThinkGeo.MapSuite.WebEdition" TagPrefix="cc1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">


<html xmlns="<a href="w3.org/1999/xhtml">w3.org/1999/xhtml</a>">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

   <%--<cc1:Map ID="Map1" runat="server" Height="400px" Width="800px"></cc1:Map>  --%>  

   <asp:PlaceHolder ID="phMap" runat="server"></asp:PlaceHolder>

    

    </form>

</body>

</html>





using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using ThinkGeo.MapSuite.Core;

using ThinkGeo.MapSuite.WebEdition;


public partial class Test2 : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!Page.IsPostBack)

        {


        }

    }


    protected void Page_Init(object sender, EventArgs e)

    {

        Map Map1 = new Map();

        Map1.Width = Unit.Pixel(800);

        Map1.Height = Unit.Pixel(400);




        // Set the Map Unit. The reason for setting it to DecimalDegrees is that is what the shapefile's unit of measure is inherently in.

        Map1.MapUnit = GeographyUnit.DecimalDegree;


        // We create a new Layer and pass the path to a Shapefile into its constructor.

        ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(Server.MapPath("~/maps/States.shp"));


        // Set the worldLayer with a preset Style, as AreaStyles.Country1 has YellowGreen background and black border, our worldLayer will have the same render style. 

        worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Country1;


        // This setting will apply from ZoonLevel01 to ZoomLevel20, that means we can see the world the same style with ZoomLevel01 all the time no matter how far we zoom out/in.

        worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level11;


        // We need to add the world layer to map's Static Overlay.

        Map1.StaticOverlay.Layers.Add(worldLayer);


        // Set a proper extent for the map, that's the place you want it to display.

        //Map1.CurrentExtent = new RectangleShape(5, 78, 30, 26);

        phMap.Controls.Add(Map1);


    }

}



map.html (7.22 KB)
error.html (7.95 KB)

   Hi, Matthew


   The javascript error was caused by your Jason name, please see the line 67 of error.html, it’s var jsonfff7c793-32dd-4d32-a404-8a3e99c3f24c=, this name is illegality.


 If you have more requirements, please tell me.


 Thanks,


 James



James, 
  
 You were right I forgot to set the ID parameter for the map. It works now. Thanks! 
  
 – Matt

 Matthew,

 


Congratulations! I’m glad to hear that.


 


Feel free to let me know if you have any questions.


 


Thanks,


James