在ArcGIS中将c#与JavaScript结合使用 - c#

我是ArcGIS的新手。我正在使用API​​在地图上为位置添加书签。单击特定位置(例如,戈尔韦湾)后,地图将放大到该位置。

                      <script>
    dojo.require("dijit.layout.BorderContainer");
    dojo.require("dijit.layout.ContentPane");
    dojo.require("dijit.form.DropDownButton");
    dojo.require("esri.map");
    dojo.require("esri.dijit.Bookmarks");
    dojo.require("esri/dijit/HomeButton");
    dojo.require("dojo/domReady!");

    var map, bookmarks, home;
    function init() {
        map = new esri.Map("map", {
            basemap: "oceans",
            center: [-7.5, 53],
            zoom: 6
        });

用户可以选择的位置列表是使用JavaScript生成的,如下例所示。您可以使用空间参考在地图上定位一个点,然后为其命名。

        // Bookmarks can be specified as an array of objects with the structure:
        // { extent: <esri.geometry.Extent>, name: <some string> }
        var bookmarks_list = [{
            "extent": {
                "spatialReference": {
                    "wkid": 102100
                },
                "xmin": -1882000,
                "ymin": 6638000,
                "xmax": -316000,
                "ymax": 7583000
            },
            "name": "Full View....."
        }, {
            "extent": {
                "spatialReference": {
                    "wkid": 102100
                },
                "xmin": -1020761,
                "ymin": 7009798,
                "xmax": -996800,
                "ymax": 7048100
            },
            "name": "Galway Bay"
        }, {
            "extent": {
                "spatialReference": {
                    "wkid": 102100
                },
                "xmin": -939400,
                "ymin": 6756000,
                "xmax": -890400,
                "ymax": 6785500
            },
            "name": "Cork Harbour"
        }, {
            "extent": {
                "spatialReference": {
                    "wkid": 102100
                },
                "xmin": -1123000,
                "ymin": 6839100,
                "xmax": -1074100,
                "ymax": 6868600
            },
            "name": "Tralee Bay"
        } ];


        // Create the bookmark widget
        bookmarks = new esri.dijit.Bookmarks({
            map: map,
            bookmarks: bookmarks_list
        }, dojo.byId('bookmarks'));


    //show map on load 
    dojo.ready(init);
    home.startup();


</script>

我的问题是,如何获取JavaScript“名称”值,例如戈尔韦湾并将其传递给C#函数?您如何关联c#和JavaScript?我对此并不陌生,所以我将不胜感激任何建议

参考方案

正如您提到的C#和JavaScript,我的猜测是您将应用程序托管在.Net环境中。但是,JavaScript API仅在客户端运行,因此我不确定您要使用C#实际做什么吗?如果您希望服务器端响应客户端上发生的某些事情而做某事,那么您可能希望调用服务器上运行的Web服务器并为其提供任何客户端属性。我为此使用.Net Web API。

您可能想阅读更多有关以下内容的信息:

ESRI JavaScript API(https://developers.arcgis.com/javascript/),
用于调用Web服务(http://dojotoolkit.org/documentation/tutorials/1.10/ajax/)的dojo请求模块
ASP.Net Web API(http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api)。

另一件事:我注意到您使用的是较旧的Dojo语法(v1.7之前的版本),考虑到ESRI甚至Dojo本身还没有将其所有教程都更新为1.7+语法,这是一个容易犯的错误。但是,如果您要开始一个新项目,那么从一开始就应该使用新语法。 dojo站点上还有另一本关于差异的教程(与上面相同的链接,请向上一级)。

Javascript-从当前网址中删除查询字符串 - javascript

单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …

JavaScript中的字符串评估函数 - javascript

            JavaScript中是否有任何内置函数,例如Python中的eval内置函数?注意:eval函数将方程式作为字符串并返回结果。例如,假设变量x为2,则eval("2x+5")返回9。 参考方案 是的,JavaScript中也有eval函数。此外,该声明应有效用于评估,即eval("2*x+5"…

如何在JQuery中操作JSONArray - javascript

我有一个php函数,它以JSON返回此代码{"0":{"title":"Dans l\u2019appartement"},"1":{"title":"A l\u2019a\u00e9roport - D\u00e9part de B\u00e9at…

在两个值之间匹配并返回正则表达式 - javascript

我正在尝试使用正则表达式从字符串中获取值,该值是tt="和"&之间的文本的值因此,例如,"tt="Value"&"我只想从中得到单词"Value"。到目前为止,我已经有了:/tt=.*&/这给了我"tt=Value"&,然后,要…