如何传递内联JSON而不是URL路径

时间:2015-08-29 17:37:46

标签: javascript json arcgis-js-api

请你看一下This Demo,让我知道如何传递Javascript对象

if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(),
    '',
    time() - 42000,
    $params["path"],
    $params["domain"],
    $params["secure"],
    $params["httponly"]
    );
}

session_destroy();
session_regenerate_id(true);

代替

中的<?php include("regenerate.php"); session_start(); echo("<br>id:".session_id()); include("regenerate.php"); session_start(); echo("<br>id:".session_id()); include("regenerate.php"); session_start(); echo("<br>id:".session_id()); include("regenerate.php"); session_start(); echo("<br>id:".session_id()); ?>
var projects = [
   { "ProjectID":"15260", "Longitude":"-118.641508",  "Latitude":"51.949915" },
   { "ProjectID":"17043", "Longitude":"-125.444557",  "Latitude":"51.097552"},
   .....
   {  "ProjectID":"17088", "Longitude":"-124.160699", "Latitude":"50.897618" }
];

正如您所看到的,URL正在从服务器处理JSON文件(data / 1000-photos.json),但在我的情况下,我有一个jQuery Ajax调用,它在{{1}上返回相同的数据我并不想把它们保存在saerver上。

我已尝试删除var photos = esriRequest({ url: "data/1000-photos.json", handleAs: "json" }); photos.then(addClusters, error); }); 并将esriRequest()直接加载到地图中

.done()

但是esriRequest()仍然是空的!

2 个答案:

答案 0 :(得分:0)

 photoInfo.data = arrayUtils.map(function() {
      for (var i = 0; i < projects.length; i++) {
      var latlng = new  Point(parseFloat(projects.lng), parseFloat(projects.lat), wgs);

我在这里看到了几个问题:

  • 你正在调用map(它接受一个数组和一个函数),但你只传递一个参数。
  • for内有map个循环。这毫无意义。
  • 您可以访问projects.lng(整个数组)而不是projects[i].lng(当前元素)。
  • 您的对象没有lnglat属性(或captionfull_nameimagelink)。< / LI>

尝试这样的事情:

photoInfo.data = arrayUtils.map(projects, function(p) {
    var latlng = new Point(parseFloat(p.Longitude), parseFloat(p.Latitude), wgs);
    var webMercator = webMercatorUtils.geographicToWebMercator(latlng);
    var attributes = {
        "Caption": "Project ID: " + p.ProjectID
    };
    return {
        "x": webMercator.x,
        "y": webMercator.y,
        "attributes": attributes
    };
});

答案 1 :(得分:0)

似乎你的照片字段包含照片数据。但是这个链接需要跨服务器访问。

enter image description here