Hi All,
Can you provide us information whether we can use the same map control on iphone,ipad,Android mobiles or do we have a seperate control with similiar functionalities which works for all type of mobiles.
We are eagerly waiting for your reply to start our evaluation on those controls for building mobile application using map control similiart to infragistics xammap control for silverlight.
Thanks in Advance,
Pavan
Hi, Pavan
Our igMap control from the NetAdvantage for jQuery supports both desktop and mobile (iOS, Android, Windows Phone) environments. It is a client side control relying on HTML5 and the Canvas API so in general this is the most important requirement: the control will run on anything which supports HTML5 and the Canvas API.
The control is still CTP and more development and updates will be done but we do not see anything on the horizon that will change availability of a single control on mobile platforms.
Cheers, Lazar
Hi Lazar,
Very happy to hear that from you. I need few more clarifications.
1. Is Drill Down to lowerlevel like in XamMap available?
2. Is reading spatial data from SQL server available?
Any code samples to start up with are available for download. If so can you give the link to download them.
Pavan,
In the CTP, clicking on shapefile shapes and getting an event is not supported, but should be supported in the next version. If you turn on markers for the shapes, you can get an event from clicking on the shape makers.
There is a sample for the xamGeographicMap for silverlight on doing drilldown. Due to API similarity the code would likely look quite similar for doing drilldown on igMap.
The igMap doesn't currently support parsing WKT. Only shapefiles. But you can just bind the shape series against an array of arrays of points. So if you were to have any code that parses the WKT from sql server you could get that to render in the map pretty handily.
I'd recommend making a feature request for us supporting WKT in the igMap, and perhaps we can get that in there in an upcoming release.
-Graham
Hi Graham,
Can you post the sample where in the shape series can be binded to array of array of points?
Can we bind the data with geometric type retrieved from sql server to the igMap (if the data is fetched from the sql database through WCF service)? If so how?
- Pavan
Here's an example of binding to a collection rather than a shapefile:
var data = [{ points: [[{ x: 0, y: 0 }, { x: 30, y: 0 }, { x: 30, y: 30 }, { x: 0, y: 30 }, { x: 0, y: 0 }]] }, { points: [[{ x: 40, y: 0 }, { x: 70, y: 0 }, { x: 70, y: 30 }, { x: 40, y: 30 }, { x: 40, y: 0 }]] }]; $("#map").igMap({ width: "700px", height: "500px", series: [{ name: "series1", type: "geographicShape", markerType: "none", dataSource: data, shapeMemberPath: "points", shapeStyle: { fill: "red", stroke: "black", thickness: 8.0 } }], overviewPlusDetailPaneVisibility: "visible", horizontalZoomable: true, verticalZoomable: true, windowResponse: "immediate" });
If you could emit JSON similar to the object graph above you could bind it to the map in this manner.Hope this helps!-Graham
Can we do the same for markers. I have a list of array with lat, lon and data attributes. Based on the data attribute I need to color the marker or change the fill of the marker. I need to show the same data as tool tip for the marker. Can you provide me a working example.
Regards,
pavan
You can't get clicks from shapes in the CTP, but should be able to get them in the RTM version. For now, if you turn on markers for the shapes, you can get a click from the marker on the shape.
To your other question, as long as your DBF has some sort of identifier (like Name) that you can corellate with your data, you can fetch the information from your style selector to adjust the coloring. The following simulates this, and simulates an update where the data is changed and how you can notify the map that his has occurred:
var colorData = { 'Canada': 'red', 'United States': 'green' } var getColorValue = function (val) { if (colorData[val]) { return colorData[val]; } return 'blue'; } $("#map").igMap({ width: "700px", height: "500px", series: [{ name: "series1", type: "geographicShape", markerType: "none", shapefileUri: "Content/world.shp", databaseUri: "Content/world.dbf", shapeStyleSelector: { selectStyle: function (s, o) { var name = s.fields.item("CNTRY_NAME"); var colString = getColorValue(name); return { fill: colString, stroke: "gray" }; } } }], overviewPlusDetailPaneVisibility: "visible", horizontalZoomable: true, verticalZoomable: true, windowResponse: "immediate", backgroundContent: null }); $("#dataPull").click(function () { colorData['Australia'] = 'orange'; $("#map").igMap("styleUpdated"); });
Actually we have Polygons.shp file and Polygons.dbf. The data in the dbf cannot be directly used for color coding or tooltips. We have dynamic data which changes oftenly. We get this data from database. How can we bind this data to shapefile to colorcode and show this data as tooltip for each shape.
How can we identify each shape and provide information on the click of the shape (polygons).
Hi Pavan,
Could you give an example of what you want to do with the data associated with the shapefile? Change the colors? Overlay pushpins? Etc? If you look at this sample: http://samples.infragistics.com/jquery/map/bind-database-shape-files
You will see how you can use information from the dbf for a shapefile to control how the shape styles are selected.
But you can do other things too. We don't have a lot of samples prepared for the map yet due to its CTP status, but if you can give me a clearer idea of what you are trying to achieve, I may be able to put a sample together for you.
Thanks for your help. But my question is I have us region's shape file. But Data is dynamic which changes frequently. So I get it using my service. How can I use MapConrol CTP 12 to read shape file and bind the data that is from the service. Is this possible in this release like silverlight xammap.
When would be the next release of CTP 12 with more features similiar to Silverlight XamMap control?