dynamic layer to mobile app

770
1
11-12-2013 03:45 AM
ShaneCarey
New Contributor
Hi,

I am trying to add a dynamic layer to the mobile app template https://developers.arcgis.com/en/javascript/jstutorials/mobile_dev.html created by esri. Has anyone done this before. If so, I would appreciate your help.
Im a newbie to this stuff and need some guidance!!
Thanks
0 Kudos
1 Reply
BethDavis
New Contributor II
It may be simple, but I'm having trouble with this exact same thing. Here is my code:

var map;
require(["esri/map", "esri/geometry/Extent", "dojox/mobile", "dojox/mobile/parser", 
"esri/sniff", "dojox/mobile/deviceTheme", "dojo/dom", "dijit/registry", "dojo/on", 
"dojox/mobile/ToolBarButton", "dojox/mobile/View", "dojox/mobile/ContentPane",
"esri/layers/FeatureLayer", "esri/layers/ArcGISDynamicMapServiceLayer"], 
function(Map, Extent, mobile, parser, has, dTheme, dom, registry, on, FeatureLayer, ArcGISDynamicMapServiceLayer) {
 parser.parse();
 mobile.hideAddressBar();
 
 map = new esri.Map("map", {
  basemap : "topo",
  logo: false,
  extent: new Extent({
  "xmin":-12027193.483128725,
  "ymin":3846528.3894867054,
  "xmax":-11834113.549680294,
  "ymax":3987019.6474749134,
  "spatialReference": {"wkid" : 102100}
  }),
  attribution: false,
  slider : false
 });
 
 map.on("load", mapLoadHandler);
 
 var resizeEvt = (window.onorientationchange !== undefined && !has('android')) ? "orientationchange" : "resize";
 on(window, resizeEvt, resizeMap);

 function mapLoadHandler(evt) {
  resizeMap();
  registry.byId('mapView').on('AfterTransitionIn', resizeMap);
 }

 function resizeMap() {
  mobile.hideAddressBar();
  adjustMapHeight();
  map.resize();
  map.reposition();
 }

 function adjustMapHeight() {
  var availHeight = mobile.getScreenSize().h - registry.byId('header').domNode.clientHeight - 1;
  if (has('iphone') || has('ipod')) {
   availHeight += iphoneAdjustment();
  }
  dom.byId("map").style.height = availHeight + "px";
 }

 function iphoneAdjustment() {
  var sz = mobile.getScreenSize();
  if (sz.h > sz.w) {//portrait
   //Need to add address bar height back to map
   return screen.availHeight - window.innerHeight - 40;
   /* 40 = height of bottom safari toolbar */
  } else {//landscape
   //Need to react to full screen / bottom bar visible toggles
   var _conn = on(window, 'resize', function() {
    _conn.remove();
    resizeMap();
   });
   return 0;
  }
 }
 var lwc = new ArcGISDynamicMapServiceLayer("http://nmbbmapping.org/arcgis/rest/services/PilotProject/SierraCountyFloodData/MapServer/");
 map.addLayer(lwc);

}); 
0 Kudos