簡體   English   中英

使用Subgurim Maps在DragEnd事件的文本框上放置坐標時出現問題

[英]Problems putting coordinates on a textbox for DragEnd event with Subgurim Maps

我正在嘗試使用Subgurim創建可拖動標記,並將最終變量讀取到文本框。

除了將坐標放在文本框上的那一部分之外,我已經完成了所有工作。

后面的代碼:

protected void Page_Load(object sender, EventArgs e){
    if (SessionManager.User == null) {
        string strscript  = "<script language=javascript>window.top.close();</script>";
        if(!ClientScript.IsStartupScriptRegistered("clientScript")) {
            ClientScript.RegisterStartupScript(Page.GetType(), "clientScript", strscript);
        }
    }
    else {
        if (!Page.IsPostBack) {                
            gmap.Height = 400;
            gmap.Width = 590;
            gmap.enableDragging = true;
            gmap.Language = "pt";
            gmap.BackColor = Color.White;
            gmap.enableDragging = true;
            gmap.enableGoogleBar = true;

            gmap.Language = "pt";
            gmap.BackColor = Color.White;

            GControl nav = new GControl(GControl.preBuilt.LargeMapControl3D);
            GControl maptypes = new GControl(GControl.preBuilt.MenuMapTypeControl, new GControlPosition(GControlPosition.position.Top_Right));
            GControl scale = new GControl(GControl.preBuilt.ScaleControl, new GControlPosition(GControlPosition.position.Bottom_Left));
            GControl overview = new GControl(GControl.preBuilt.GOverviewMapControl, new GControlPosition(GControlPosition.position.Bottom_Right));

            gmap.addControl(nav);
            gmap.addControl(maptypes);
            gmap.addControl(scale);
            gmap.addControl(overview);

            GLatLng pt=null;
            int zoom = 16;

            string lat = Request.QueryString["lat"];
            string lon = Request.QueryString["lon"];

            if (lon == null || lat == null) {
                pt = new GLatLng(Helper.BASE_LAT, Helper.BASE_LON);
                zoom = Helper.BASE_ZOOM;
            }
            else {
                pt = new GLatLng(Convert.ToDouble(lat), Convert.ToDouble(lon));
            }
            gmap.setCenter(pt,zoom);

            GMarkerOptions mOpts = new GMarkerOptions();
            mOpts.draggable = true;

            GMarker marker = new GMarker(pt,mOpts);
            gmap.addGMarker(marker);

            gmap.addListener(new GListener(marker.ID, GListener.Event.dragend,
                string.Format(@"
                   function(overlay, point)
                   {{
                      var ev = new serverEvent('myDragEnd', {0});
                      ev.addArg({0}.getZoom());
                      ev.addArg(this.getPoint());
                      ev.send();
                   }}
                   ", gmap.GMap_Id)
                )
            );
        }
    }
}

protected string gmap_ServerEvent(object s, GAjaxServerEventOtherArgs e) {    
    switch (e.eventName) {
        case "myDragEnd":
            string zoomLevel = e.eventArgs[0];
            GLatLng point = GAjaxServerEventArgs.latlngFromString(e.eventArgs[1]);
            txtLat.Text = "Hello";//point.lat.ToString();
            txtLon.Text = "There";//point.lng.ToString();
        break;
    }
    return string.Empty;    
}

基本上,我正在創建一個可拖動標記並將一個事件附加到該標記上,這由分配完成的最后一種方法處理……這不會發生。 文本框仍然顯示為空。

當您添加標記時

google.maps.event.addListener(marker, 'dragend', markerDrag);

然后在標題中

function markerDrag(evt)
                 {
                    document.getElementById('mlat_').value = this.getPosition().lat();
                    document.getElementById('mlng_').value = this.getPosition().lng();

                 }

mlat_和mlng是輸入類型的文本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM