انجمن تخصصی جی.آی.اس (GIS)

نسخه‌ی کامل: اضافه کردن basemap در arc map
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان
من از طریق add data from gis online  لایه openstreet map   رو که از نوع packag layer  بود به arc map  اضافه کردم تا به عنوان بیس مپ بتونم ازش استفاده کنم ولی موقع پابلیش خطای زیر رو می ده00037: Basemap layers cannot be published directly to a map service که من اصلا متوجه نمی شم باید چیکار کنم  زمانی که بیس مپ ازنوع  map server  اضافه می کنم با این خطا مواجه می شم00005: Layer type is not supported
نقشه های آنلاینو نمی تونید پابلیش کنید
osm رو در کدتون به عنوان بیس مپ به برنامه اضافه کنید
یا تصاویر رو دانلود کنید و سرویس آفلاین بسازید
جعفری عزیز مرسی از کمکتون
basemap  که کلا فیلتره نمیشه ازش استفاده کرد
داخل js  یه کتابخانه داره به اسم OpenStreetMapLayer.js که لایه osm  رو به برنامه اضافه می کنه  ولی نمی دونم لایه های خودم رو چطور بهش اضافه کنم لطفا راهنمایی می فرمایید چطور میشه ازش استفاده کرد.



 
https://developers.arcgis.com/javascript...utton.html
basemap بینگ، OSM یا هر نقشه ی پایه ای که خودتون پابلیش کردید می تونید استفاده کنید مشابه این نمونه کد 
خیلی ممنون از اینکه وقت می زارید من سمپلی که لطف کردید فرستادید رو دیدم ولی متاسفانه متوجه نشدم که چطور باید ازش استفاده کنم  مخصوصا زمانی که پیغام زیر و میده به چه معنی هست
کد php:
[color=#FF0000]Please enter your bing maps key[/color] 
 اصلا سمپل اصلی هم چیزی هم نمایش نداد.  اگه لطف کنید یه توضیح کوچیک بدید که این چی هست خیلی ممنون میشم

من فقط می خوام لایه osm رو به نقشه اضافه کنم به طوری که background کارم قرار بگیره

 
این ارور به خاطر اینه که شما bing key رو وارد نکردید. خب شما که به بینگ نیاز ندارید کلا قطعه کد مربوط به بینگ رو بردارید. در مورد کدی هم که برای من فرستادید:
برای بیس مپ خودتون هم نباید لایه از نوع  arcgisDynamicLayer باشه.
کد php:
var SampleBaseMapLyer = new esri.dijit.BasemapLayer({
        
url"http://100.668.129.261:6080/arcgis/rest/services/Sattelite/MapServer",

    });

    var 
basemapSat = new esri.dijit.Basemap({
      
layers: [SampleBaseMapLyer],
       
id"bmHybrid",
       
title"Aerial with labels"
   
}); 


 
مرسی جعفری عزیز از جوابتون واقعا مفید بود لایه خودم به لایه  openstreetmap اضافه شد
ولی متاسفانه نقشه برای اولین بار لود میشه نمی تونم رو لایه مورد نظر خودم zoom  کنم
و نقشه رو اروپا zoom میشه چطور می تونم zoom  رو روی لایه خودم بزارم
اگه راهنمایی بفرمایید خیلی ممنون می شم
برای zoom  در لایه مورد نظر از کد زیر استفاده کردم 
کد php:
function setExtentMap() {
                
                
dojo.io.script.get({
                    
url: [color=#FF0000]'layer+numblayer'[/color] + '?f=json',
                    
content: { q"#dojo" },
                    
callbackParamName"callback"
                
}).then(function (data) {
                    
                    var 
newExtent = new esri.geometry.Extent(data.extent)
                    
newExtent.xmax data.extent.xmax;
                    
newExtent.xmin data.extent.xmin;
                    
newExtent.ymax data.extent.ymax;
                    
newExtent.ymin data.extent.ymin;
                   
                    
map.setExtent(newExtent);
                });
            } 
   }


 
سوال دیگه ای که دارم اینه که آیا برای  لود شدن basemap باید حتما کلاینت اینترنت داشته باشه
یا راه دیگه ای هم وجود داره
لینک مرجع