2013-08-29 110 views
1

如何在不使用任何第三方引用的情況下使用shapefile(.shp)和bing地圖? 我只想使用bing maps api庫來執行這個動作。 那麼建議我如何實現這一目標?如何在Bing地圖上繪製shapefile

我試圖與Bing地圖的東西在下面描述.. 這裏是我的代碼:

$.ajax({ 
      type: "POST", 
      url: "GISFunctions.asmx/GetShapeFileData", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (data, textStatus, jqXHR) { 
       var response = data.d; 
       for (var i = 0; i < response.length; i++) { 
        var polygonGeometry = response[i]; 
        var vertices = new Array(); 
        var numCoordinates = polygonGeometry.length; 
        for (var j = 0; j < numCoordinates; j++) { 
         var CoOrdinates = polygonGeometry[j]; 
         var x = CoOrdinates[1]; 
         var y = CoOrdinates[0]; 
         vertices[j] = new Microsoft.Maps.Location(x, y); 
        } 
        var polygoncolor = new Microsoft.Maps.Color(100, 100, 0, 100); 
        var polygon = new Microsoft.Maps.Polygon(vertices, { fillColor: polygoncolor, strokeColor: polygoncolor }); 
       // Add the shape to the map 
        map.entities.push(polygon); 
       } 
      }, 
      error: function (xhr, status, error) { 
       alert(xhr.responseText); 
      } 
     }); 

「GISFunctions.asmx/GetShapeFileData」 是我的Web服務方法。它從shapefile中獲取數據。逐個讀取shapefile的記錄並獲取每個記錄的多邊形的座標。 在上面的Jquery Ajax的功能,我已經分化我的數據,並創建數組,它包含了我的多邊形頂點,然後按照下面的鏈接,我想這些多邊形在Bing地圖

http://msdn.microsoft.com/en-us/library/gg427604.aspx

,當我去通過靜態數據,然後我可以很容易地在Bing Map上繪製一個多邊形。但是當我嘗試動態創建這些多邊形時,我的上述代碼不起作用。 它不繪製在地圖上的任何多邊形,也沒有給我的錯誤..

我是新來的GIS功能,這樣好心建議我正確的方向..

+0

你將需要提供你想要做什麼的更多信息。請發佈您迄今爲止的內容,該代碼非常有用。 –

+0

現在我已經使用以下鏈接加載了一個基本的bing地圖: –

+0

http://msdn.microsoft.com/en-us/library/gg427624.aspx現在我有一個shapefile(.shp)的新澤西地區。我想使用shapefile在bing地圖上突出顯示新的澤西地區,或者我們可以說,無論我在該shapefile(.shp)中具有哪些GeoSpatial數據,我都想根據Bing地圖上的shapefile創建一個圖層。 –

回答