POST
|
I am not sure you can use albers projection with google. Can you try redoing your service in web mercator aux sphere ?? You don't need top change your data, just change the data frame projection in the msd, restart your service and clear your rest cache. Ok I opened the MXD, changed data frame projection to Web Mercator Auxiliary Sphere, saved, restarted the service and cleared cache. Still does not overlay. I also contacted ESRI tech support. They weren't sure which project it needed to be, but I pointed out that the ESRI dynamic map service that is used in the Knowledge Base tutorial is WKID: 4326 (WGS84). I have tried using a service in this projection as well but it does not overlay.
... View more
05-29-2012
05:57 AM
|
0
|
0
|
271
|
POST
|
The knowledge base article shows how to overlay a service from ArcGIS Server over the google maps base layer. The code in the article works perfectly until I replace the dynamic URL with my own map service. I cannot get any of our dynamic map services to overlay like the ESRI one does. Here's my code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>ArcGIS JavaScript Extension for the Google Maps API Example</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script src="http://maps.google.com/maps?file=api&v=2&key=AIzaSyDDlcIQ61bcnNSaLKNoBaD6u09Yq1WuUb8" type="text/javascript"></script>
<script src="http://serverapi.arcgisonline.com/jsapi/gmaps/?v=1.6" type="text/javascript" ></script>
<script type="text/javascript">
var gmap = null;
function initialize() {
gmap = new GMap2(document.getElementById("gmap"));
var centerat = new GLatLng(0,0);
gmap.addControl(new GLargeMapControl());
gmap.addControl(new GMapTypeControl());
gmap.setCenter(centerat, 1);
var dynamicMap = new esri.arcgis.gmaps.DynamicMapServiceLayer("http://map.entrix.com/ArcGIS/rest/services/Atlases/USA/MapServer", null, 0.75, dynmapcallback);
}
function dynmapcallback(mapservicelayer) {
gmap.addOverlay(mapservicelayer);
}
</script>
</head>
<body onload="initialize();" onunload="GUnload();">
<div id="gmap" style="width: 500px; height:500px;"></div>
</body>
</html>
... View more
05-29-2012
05:15 AM
|
0
|
5
|
399
|
POST
|
I'm trying to display a Dynamic Map Service Layer over the Google streets map. I have been following the 'Adding an ArcGIS Server map to Google Maps' found in this tutorial. My dynamic service will not display. It works in every other web-map I've built using FLEX or Javascript API, but it will not display over the Google base layer. What am I missing? Live map - A big red dot should appear near the center showing the point layer I'm trying to pull in but it's not visible. That's the problem. Here's my code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>Google Maps + ArcGIS</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script src="http://maps.google.com/maps?file=api&v=2&key=AIzaSyDDlcIQ61bcnNSaLKNoBaD6u09Yq1WuUb8" type="text/javascript"></script>
<script src="http://serverapi.arcgisonline.com/jsapi/gmaps/?v=1.6" type="text/javascript" ></script>
<!-- Required for dijits -->
<script type="text/javascript">var djConfig = {parseOnLoad: true};</script>
<!-- Add ESRI Javascript API -->
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8"></script>
<!-- Add Jquery Library -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
// Add Dojo elements
dojo.require("dijit.dijit");
dojo.require("dojo.parser");
dojo.require("dijit.layout.AccordionContainer");
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.TitlePane");
dojo.require("esri.map");
dojo.require("esri.virtualearth.VETiledLayer");
dojo.require("esri.dijit.BasemapGallery");
dojo.require("esri.arcgis.utils");
dojo.require("esri.SnappingManager");
dojo.require("esri.dijit.Legend");
dojo.require("dijit.form.CheckBox");
dojo.require("esri.dijit.Measurement");
dojo.require("esri.dijit.Scalebar");
dojo.require("esri.tasks.query");
dojo.require("esri.dijit.Popup");
var map;
var gmap = null;
function init_google() {
//Load Google Maps
gmap = new GMap2(document.getElementById("gmap"));
var centerat = new GLatLng(28, -82.5);
gmap.addControl(new GLargeMapControl());
gmap.addControl(new GMapTypeControl());
gmap.setCenter(centerat, 10);
gmap.enableScrollWheelZoom();
var dynamicMap = new esri.arcgis.gmaps.DynamicMapServiceLayer
("http://map.entrix.com/ArcGIS/rest/services/Misc/RiverviewOfficePointsWGS84/MapServer",
null, 1.0, function(overlay) {gmap.addOverlay(dynamicMap);}
);
}
</script>
</head>
<body onload="init_google();" onunload="GUnload();">
<div id="gmap" style="width: 500px; height:500px;"></div>
</body>
</html>
... View more
05-25-2012
08:12 AM
|
0
|
1
|
230
|
POST
|
Correction, I see now the example code is done with two MapService layers instead of with two FeatureService Layers. So can this even be done with FeatureService layers? I'll try switching to two MapService...
... View more
05-04-2012
10:24 AM
|
0
|
0
|
285
|
POST
|
Jay, thank you that worked! I made that change and the checkbox appeared. Now I have another problem.... I have switched to pulling in to FeatureLayer services instead of the entire MapService. This is exactly how the code sample was structured in the code gallery. For some reason only the first layer is appearing in the legend. The second one does not appear and nothing is appearing at all in the TOC. Here's my code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />
<!--The viewport meta tag is used to improve the presentation and behavior of the samples
on iOS devices-->
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
<title>Cardno Web-Mapping</title>
<!-- Add ESRI style -->
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.8/js/dojo/dijit/themes/claro/claro.css">
<!-- Add Custom style -->
<link rel="stylesheet" type="text/css" href="cardno.css">
<!-- Required for dijits -->
<script type="text/javascript">var djConfig = {parseOnLoad: true};</script>
<!-- Add ESRI Javascript API -->
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8"></script>
<script type="text/javascript">
// Add Dojo elements
dojo.require("dijit.dijit");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.AccordionContainer");
dojo.require("dijit.TitlePane");
dojo.require("dojo.parser");
dojo.require("esri.map");
dojo.require("esri.dijit.Legend");
dojo.require("esri.dijit.Measurement");
dojo.require("esri.SnappingManager");
dojo.require("esri.arcgis.utils");
dojo.require("dijit.form.CheckBox");
var map;
var legendLayers = [];
function init() {
// Set initial extent
var startExtent = new esri.geometry.Extent(-115.489, 42.973, -115.317, 43.066, new esri.SpatialReference({wkid:4326}) );
// Create map
map = new esri.Map("map", { extent: startExtent });
// Add base layer
var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer");
map.addLayer(basemap);
// Setup project layers and push to Legend
var HammettHillWTGs_pts = new esri.layers.FeatureLayer("http://map.entrix.com/ArcGIS/rest/services/IdahoWind/IdahoWind/FeatureServer/24",{id:'Turbines'});
legendLayers.push({layer:HammettHillWTGs_pts,title:'Turbines'});
var HammettHillWindFarm_poly = new esri.layers.FeatureLayer("http://map.entrix.com/ArcGIS/rest/services/IdahoWind/IdahoWind/FeatureServer/27",{id:'Boundary'});
legendLayers.push({layer:HammettHillWindFarm_poly,title:'Hammett Hill Boundary'});
// Add Legend
dojo.connect(map,'onLayersAddResult',function(results){
var legend = new esri.dijit.Legend({
map:map,
layerInfos:legendLayers
},"legendDiv");
legend.startup();
});
// Add layers to map
map.addLayers([HammettHillWTGs_pts,HammettHillWindFarm_poly]);
// Add checkboxes
dojo.connect(map,'onLayersAddResult',function(results){
dojo.forEach(legendLayers,function(layer){
var layerName = layer.title;
var checkBox = new dijit.form.CheckBox({
name: "checkBox" + layer.layer.id,
value: layer.layer.id,
checked: layer.layer.visible,
onChange: function(evt) {
var clayer = map.getLayer(this.value);
clayer.setVisibility(!clayer.visible);
this.checked = clayer.visible;
}
});
//add the check box and label to the toc
dojo.place(checkBox.domNode,dojo.byId("toggle"),"after");
var checkLabel = dojo.create('label',{'for':checkBox.name, innerHTML:layerName},checkBox.domNode,"after");
dojo.place("<br />",checkLabel,"after");
});
});
// Add Measurement Widget
var measurement = new esri.dijit.Measurement({
map: map
}, dojo.byId('measurementDiv'));
measurement.startup();
dojo.connect(map, 'onLoad', function(theMap) {
//resize the map when the browser resizes
dojo.connect(dijit.byId('map'), 'resize', map,map.resize);
});
};
dojo.addOnLoad(init);
</script>
</head>
<body class="claro">
<div dojoType="dijit.layout.BorderContainer" design="headline" style="width: 100%; height: 100%;">
<div dojotype="dijit.layout.ContentPane" region="top">
<span>Mountain Air Wind</span>
</div>
<div id="leftPane" dojotype="dijit.layout.ContentPane" region="left" style="width: 300px;">
<div dojoType="dijit.layout.AccordionContainer">
<div dojoType="dijit.layout.ContentPane" id="legendPane" title="Legend" selected="true">
<div id="legendDiv"></div>
</div>
<div dojoType="dijit.layout.ContentPane" title="Natural Disasters" >
<span style="padding:10px 0;">Click to toggle the visibilty of the various natural disasters</span>
<div id="toggle" style="padding: 2px 2px;"></div>
</div>
</div>
</div>
<div dojotype="dijit.layout.ContentPane" region="center">
<div id="map"></div>
</div>
<div dojotype="dijit.layout.ContentPane" region="right" style="width: 100px;">
This is the right section
</div>
<div dojotype="dijit.layout.ContentPane" region="bottom" style="height: 200px;">
This is the bottom section
</div>
</div>
</body>
</html>
... View more
05-04-2012
09:51 AM
|
0
|
0
|
285
|
POST
|
I have built a web-map using this sample code and I cannot figure out why the TOC doesn't work in my webmap. The Legend loads properly but the TOC with checkboxes does not. Here's my code. What am I missing? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />
<!--The viewport meta tag is used to improve the presentation and behavior of the samples
on iOS devices-->
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
<title>Cardno Web-Mapping</title>
<!-- Add ESRI style -->
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.8/js/dojo/dijit/themes/claro/claro.css">
<!-- Add Custom style -->
<link rel="stylesheet" type="text/css" href="cardno.css">
<!-- Required for dijits -->
<script type="text/javascript">var djConfig = {parseOnLoad: true};</script>
<!-- Add ESRI Javascript API -->
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8"></script>
<script type="text/javascript">
// Add Dojo elements
dojo.require("dijit.dijit");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.AccordionContainer");
dojo.require("dijit.TitlePane");
dojo.require("dojo.parser");
dojo.require("esri.map");
dojo.require("esri.dijit.Legend");
dojo.require("esri.dijit.Measurement");
dojo.require("esri.SnappingManager");
dojo.require("esri.arcgis.utils");
dojo.require("dijit.form.CheckBox");
var map;
var legendLayers = [];
function init() {
// Set initial extent
var startExtent = new esri.geometry.Extent(-115.489, 42.973, -115.317, 43.066, new esri.SpatialReference({wkid:4326}) );
// Create map
map = new esri.Map("map", { extent: startExtent });
// Add base layer
var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer");
map.addLayer(basemap);
// Setup Dynamic layer
var projLayers = new esri.layers.ArcGISDynamicMapServiceLayer("http://map.entrix.com/ArcGIS/rest/services/IdahoWind/IdahoWind/MapServer",{id:'proj'});
// Push layers to Legend
legendLayers.push({layer:projLayers,title:'Project Data'});
// Add Legend
dojo.connect(map,'onLayersAddResult',function(results){
var legend = new esri.dijit.Legend({
map:map,
layerInfos:legendLayers
},"legendDiv");
legend.startup();
});
// Add layers to map
map.addLayers([projLayers]);
// Add checkboxes
dojo.connect(map,'onLayersAddResult',function(results){
dojo.forEach(legendLayers,function(layer){
var layerName = layer.title;
var checkBox = new dijit.form.CheckBox({
name: "checkBox" + layer.layer.id,
value: layer.layer.id,
checked: layer.layer.visible,
onChange: function(evt) {
var clayer = map.getLayer(this.value);
clayer.setVisibility(!clayer.visible);
this.checked = clayer.visible;
}
});
//add the check box and label to the toc
dojo.place(checkBox.domNode,dojo.byId("toggle"),"after");
var checkLabel = dojo.create('label',{'for':checkBox.name, innerHTML:layerName},checkBox.domNode,"after");
dojo.place("<br />",checkLabel,"after");
});
});
// Add Measurement Widget
var measurement = new esri.dijit.Measurement({
map: map
}, dojo.byId('measurementDiv'));
measurement.startup();
dojo.connect(map, 'onLoad', function(theMap) {
//resize the map when the browser resizes
dojo.connect(dijit.byId('map'), 'resize', map,map.resize);
});
};
dojo.addOnLoad(init);
</script>
</head>
<body class="claro">
<div dojoType="dijit.layout.BorderContainer" design="headline" style="width: 100%; height: 100%;">
<div dojotype="dijit.layout.ContentPane" region="top">
<span>
This is the header section
</span>
</div>
<div id="leftPane" dojotype="dijit.layout.ContentPane" region="left" style="width: 300px;">
<div dojoType="dijit.layout.AccordionContainer">
<div dojoType="dijit.layout.ContentPane" id="legendPane" title="Legend" selected="true">
<div id="legendDiv"></div>
</div>
<div dojoType="dijit.layout.ContentPane" title="Natural Disasters" >
<span style="padding:10px 0;">Click to toggle the visibilty of the various natural disasters</span>
</div>
<div id="toggle" style="padding: 2px 2px;"></div>
</div>
</div>
<div dojotype="dijit.layout.ContentPane" region="center">
<div id="map"></div>
</div>
<div dojotype="dijit.layout.ContentPane" region="right" style="width: 100px;">
This is the right section
</div>
<div dojotype="dijit.layout.ContentPane" region="bottom">
This is the bottom section
</div>
</div>
</body>
</html>
... View more
05-03-2012
06:27 AM
|
0
|
4
|
1030
|
POST
|
I'm running ArcGIS Mobile 10 (latest build) on a Trimble Juno ST handheld GPS unit. The problem I'm having is that ArcGIS Mobile appears to get stuck when trying to collect a new point. I had it set to average 5 positions at first but now I have set to average only 1 position. When I tap to start averaging it just sits there forever saying 'averaging....'. It never actually collects a new point. I have a good GPS fix with low PDOP reported in the GPS status window of ArcGIS Mobile. What is causing this problem?
... View more
03-28-2012
05:21 AM
|
0
|
1
|
631
|
POST
|
Curt, Which Trimble Ranger model do you use? Ranger X or Ranger 3? Does this unit have integrated GPS receiver or are you using external GPS receiver? What is mfg/model info? How are you connected to Ranger and GPS - Bluetooth, USB, Serial? COM2 is the dedicated hardware port for built-in GPS (COM1 is dedicated to external 9-pin) and GPS is compatible w/applications accepting NMEA position info using 9600 baud rate. Visit Trimble website for Trimble Ranger handheld computer User Guides and Manuals. Cheers, Denise Denise, It's a Ranger X and does not have built-in receiver. The receiver is a Trimble Pro XR backpack unit. They are connected via serial cable. I have spoken with our Trimble representative about this issue. There are two connection methods which should be working for ArcGIS Mobile 10, but neither of them are. 1. Connection via Port A on the receiver. This port outputs natively in NMEA so there's no need for an application like GPS Controller to translate the TCIP signal to NMEA. Unfortunately with this method the receive does not know to wake up and send data. So ArcGIS Mobile is listening but no data is being sent. 2. Connection via Port B on the receiver. This port outputs in TCIP. GPS Controller needs to be running along with ArcGIS Mobile. NMEA output is set to "ON" in GPS Controller along with the correct port to send data. Likewise the settings in ArcGIS Mobile must be set to receive on the same port. So far this method has not worked for us. ArcGIS Mobile fails to connect to GPS even though GPS Controller is reporting satellites and PDOP. Strangly we do not have these problems with a GeoXT or Juno. GPS Controller and ArcGIS Mobile both run simultaneously with no problems. First I get a fix with GPS Controller, then start ArcGIS Mobile which connects immediately and get's a fix very quickly. Any ideas on why this is not working with the Ranger/backpack combo?
... View more
02-02-2012
03:11 AM
|
0
|
0
|
272
|
POST
|
We are having difficulties getting ArcGIS Mobile 10.0 (build 2550) to connect to a Trimble backpack unit. Tech support at both ESRI and Trimble suspect this is not possible, and may only be doable with a handheld such as GeoXT or Juno with built-in receivers. Has anyone gotten ArcMobile 10.0 to work with a Trimble backpack receiver? Problems we are having: 1. ArcGIS Mobile is not able to connect to the GPS receiver even though GPS Controller is outputting in NMEA on the same port ArcGIS Mobile is listening to. 2. We tried moving the receiver cable to the port that natively transmits in NMEA, thereby eliminating the need for GPS Controller to translate from TCIP to NMEA. The new problem is that ArcGIS Mobile can't wake up the receiver and tell it to transmit. Something else has to do that, such as GPS Controller, but as long as GPS Controller is running ArcGIS Mobile can't make a connection. According to Trimble, we shouldn't have these issues with a handheld unit that has a built-in GPS receiver, but unfortunately our field teams need the performance of the backpack units.
... View more
02-01-2012
05:13 AM
|
0
|
0
|
522
|
POST
|
We are using ArcGIS Mobile 10.0 installed on a Trimble Ranger handheld unit. The Ranger is running Windows Mobile 5.0 and .NET Compact Framework 3.5. We have created a test project using ArcGIS Mobile on a desktop and copied it to the Ranger, then opened the project and retrieved data. Everything is working as expected up to this point. In the field ArcGIS Mobile will not get a GPS fix. I googled and found an article stating that ArcGIS Mobile requires the NMEA format and therefore a utility like Trimble GPS Controller must be used to output in NMEA format in order for a Trimble unit to communicate with ArcGIS Mobile. Timble GPS Controller has been installed on the Ranger and NMEA output is enables in the settings. The correct COM port is also set. ArcGIS Mobile still cannot get a fix. Does anyone have experience with this issue?
... View more
01-31-2012
04:32 AM
|
0
|
3
|
3666
|
POST
|
Thanks Robert. Yes I think the old addage "security by obscurity" applies here, but nevertheless we have some clients who can and will run a security audit using some methods I didn't even realize until the past couple of days when our network guys demonstrated how easy it would be to locate, acquire, and decompile the .swf thereby getting a valid token with which to hit the REST endpoint. Right now we have a functional ASP.NET portal that secures access to the Flex app and we're working on a method to generate short-lived tokens on the fly with each successful login. The config.xml gets written dynamically before the .swf parses it (in theory). I've seen so many threads asking about this, but at the end of the day it's going to be in-house web development that gets it done rather than any build-in functionality from ESRI.
... View more
11-04-2011
11:27 AM
|
0
|
0
|
285
|
POST
|
Plots of a 29-page 24x36 PDF created with Data Driven Pages and ArcMap 10.0 are coming out like this: Everything in the data frame except for labels is plotting solid red. On this example there's a small rectangle where the aerial and vector data plotted correctly, but most of the plots are solid red everywhere in the data frame. This problem only occurs with PDFs that are exported from an MXD in which Data Driven Pages are enabled. We cannot reproduce the problem with any maps in which DDP is not enabled, regardless of size, aerials being used, or any other setting. This problem occurs regardless of the plotter being used (we have two, one HP and one Canon). Same results on both plotters. This is not the only manifestation of the problem. In other instances we've had diagonal black lines appear, again underneath the labels but on top of everything else. And again this problem was only repeatable on PDFs exported from MXDs in which DDP was enabled. Hopefully ESRI can give some attention to this bug. I'm available to coordinate directly with anyone who may have an answer. Thanks for reading.
... View more
11-01-2011
07:03 AM
|
0
|
1
|
323
|
POST
|
Robert and Greg, I wanted to get your input on this topic of securing the Flex Viewer, specifically the possibility of using an asp.net wrapper. Where I work we've been working on a secure asp.net portal for a couple of weeks. At present the login prompt is successfully validating back to the user accounts that are created and managed in ArcGIS Server Manager and then redirecting to a specified URL for the Flex View app. But we are stumped at the moment because it still doesn't allow secured services to be viewed in the Flex Viewer even though the necessary credentials have been provided. I can login with my own account which is a member of the GIS Admin role and the asp.net portal then takes me to a Flex Viewer that serves a single secured service. The data in that service is not visible. We are really confused by this behavior, especially since we can login into the REST endpoint and view all secured services with no issues. Do you have any insight as to what we're missing? Frankly I go back and forth on whether this effort is justified. Famous last words....but I don't know if there's a real threat from hackers wanting to steal data pertaining to projects nobody but the client and a handful of interested parties even know exists. I think the more important concern is making sure client A can't accidentally access the maps and data of client B, and it seems like at least of a couple of login widgets provide that. Regardless we really need to get our asp.net portal figured out asap. Many thanks for any inisght you can provide.
... View more
10-28-2011
05:42 AM
|
0
|
0
|
285
|
POST
|
After creating a Mosaic Dataset using true-color SID tiles I'm getting a totally different look to the aerial than the original SID images. Below an original SID image is centered with the Mosaic Dataset surrounding it. For this Mosaic Dataset I built pyramids and overviews but did not calculate statistics. Is there a way to tell it to adopt the same color balancing as the originals?
... View more
08-18-2011
04:04 AM
|
0
|
2
|
2112
|
POST
|
I have published an MXD with six layers. When I view the service via the REST endpoint, it lists all six layers (0) through (5) under the MapServer link, but under the FeatureServer link it only list four of the layers. (0) and (1) are missing. All six layers are SDE feature classes located in the same Feature Dataset. Why would this be happening?
... View more
08-15-2011
12:17 PM
|
0
|
1
|
869
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|