Tag Info

Hot answers tagged

10

Use the OpenLayers.Format.WKT class. Try replacing this line: var fea=new OpenLayers.Feature.Vector(data); //this doesn't work For this line(if data.d = "POLYGON((516000 ..."): var fea = new OpenLayers.Format.WKT().read(data.d); Here's an example on how to use it: http://openlayers.org/dev/examples/vector-formats.html


9

Try this instead: function getJson(simp){ //Removed unneeded arguments here var url = 'file' + simp + '.json'; map.removeLayer(geojsonLayer); //geojsonLayer.clearLayers(); I don't believe this needed. $.getJSON(url, function(data){ geojsonLayer = L.geoJson(data, { style: defaultStyle, onEachFeature: ...


8

GeoServer has its own convention for JSONP callbacks, which is described here (coudn't find it mentioned in the official docs). So I quickly hacked a jsfiddle showing how you can use it with jQuery, just remember to set the url, workspace and layers so that they point to your geoserver.


8

You have to explicitly specify a width and height to your #map container : In css add : #map { width:600px; height:400px; } Or in HTML : <div id="map" style="width:600px; height:400px;"> And you will see correctly your map!


5

Essentially, you are just passing an array to the autocomplete widget. If the data is in a map or feature service, query for the data from the service. If you start with a table in your mxd/msd that contains the data, when you publish it, you will get a REST endpoint for the table to query for in the same way. Next, parse out the data and push onto an array ...


5

You are almost there. Another .each for val.properties should work: $.each(data.features, function (key, val) { $.each(val.properties, function(i,j){ items.push('<li id="' + i + '">' + j + '</li>'); }) });


5

You have two options: hook into the create event to adjust layer opacity as sliders are created provide a global cfg array so that layers are already init'ed to same value as the sliders The first solution is simple, just provide a create: function(event, ui) { ... } as an init option to the slider like the following: $( "#slider1" ).slider({ [...] ...


4

The C# part of this question is a duplicate of Is there a free .Net library to convert OSGB36 to WGS84? The answers list two free libraries.


4

First of all, OpenLayers 3 doesn't have a LayerSwitcher control. In OpenLayers 2 however, there is a .olControlLayerSwitcher style which can be animated by JQuery without any further styling options. You can use JQuery's animate function for this task: $(".olControlLayerSwitcher").animate({top: "55px"}); There is no need for the 30px animation, except if ...


3

To complete unicoletti's answer. You can have a look on opengeo workshop. There is an example combining openlayers and Jquery UI slider. The full OL tutorial is available here.


3

Yes, many people do use JQuery Mobile together with their choice of mapping API. I use both google maps and ESRI's JavaScript web mapping APIs with JQuery Mobile. If you are planning on doing it with the Google Maps v3 API here is a great set of examples.


3

Please put your code, or a short version, at http://jsfiddle.net/ so we can play with it. Also try: <div id="map"></div> <div id="makeMeDraggable"></div>


3

The "map.setExtent()" method should work in this case. This method will take your coords and center the map over them. else if (RegionID == 2){ var xmin = '-9323482.962110244'; var ymin = '4350184.153764758'; var xmax = '-8922341.437669657'; var ymax = '4557481.374474147'; var regionname = 'Far Sourthwest'; map.setExtent(xmin, ymin, ...


3

Normally you would associate a marker with an object or at least an Identifier (an Objectid) by simply defining a variable for it on the marker object. Leaflet also uses an internal id (marker._leaflet_id) for each marker by default which you can use for your purposes. It depends mainly on how you create your markers and its associated sidebar divs so that ...


3

Here's an example that accomplishes what you want (I think): http://jsfiddle.net/tschaub/Lkgx0qaa/ I've created a map with three layers, only the first one (named roads) is visible: var roads = new ol.layer.Tile({ source: new ol.source.BingMaps({key: key, imagerySet: 'Road'}) }); var clipped = { imagery: new ol.layer.Tile({ source: new ...


2

See this DEMO. I've recreated your code in the DEMO and it works fine. Without the complete source it's hard to tell what is causing your problem. Your code was throwing an error and was easily fixed by doing what Vadim mentioned: "switch last 2 statements". I have a feeling it has something to do with the source of rPoly(reading from KML). Because that's ...


2

Switch last 2 statements. Add to map first, then activate.


2

Is this for UTM zone northing/eastings? I wrote a utility for that in javascript: http://cambertx.com/utm/


2

An OL extension has been coded for that. You will find a blog post relative to the draggable behavior and the extension implementation : http://aamirafridi.com/openlayers/openlayers-draggable-popups With a link to the demo : http://jsbin.com/agopa3 The extension full code is available on the blog page. Hope it helps.


2

What is written above will loop through each element in each JSON object. Those are JSON objects so you want to treat them as the objects geometry and properties then simply reference them with dot notation. $.each(data.features, function (key, val) { geometry = val.geometry; properties = val.properties; alert (properties.place); }


2

Thanks unicoletti, the callback change worked. I now have: $.ajax({ url: "http://localhost:8090/geoserver/cite/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=cite:markers&maxFeatures=50&outputFormat=json&format_options=callback:processMarkers", dataType: "jsonp", }); and it returns the json, which I successfully ...


2

Use .on() instead of .live() - the element is not onpage when you bind your event handler, so you'll need to bind it dynamically. $('click', 'a .smallPolygonLink', function(e){ console.log("One of the many Small Polygon Links were Clicked"); });


2

more of a jQuery question, but try: $("#reset").on("click", function(event) { DNPA_camping.setVisibility(true); DNPA_camping.redraw(); }); edit: or to drop the "reset"-button and have the dropdown make the map show all when selecting all: $("#camping").change(function () { DNPA_camping.setVisibility(true); if ($(this).val() === "All") { ...


2

try something like this, where #plink is where ever you want it on the page $("#plink").append("Link to this map"); map.addControl(new OpenLayers.Control.Permalink("permalink",null, { "createParams": myCreateArgs, title: "right click for link options" })); // check if we were called with permalink args var args = OpenLayers.Util.getParameters(); if ...


2

After you move the map's element (probably a div), call map.reposition().


2

When using vector layers in OpenLayers, it is always best to use the filter startegy instead of the filter parameter in the layer: var filterStrategy = new OpenLayers.Strategy.Filter({filter: your_filter_here}); var station = new OpenLayers.Layer.Vector("station", { strategies: [ filterStrategy ] }); and: $("#button1").click(function () { var ...


2

I also understand that the $("#"+layer) is not the layer, but a jQuery object which maybe does not have the properties setVisibility Well, it definitely doesn't have setVisibility because it's a DOM element (e.g. an HTML div), not an OpenLayers object. If you only have one OpenLayers layer you can simply use its reference: if ($(this).is(":checked")) { ...


2

Try something like this. You may be trying to do to much. I have activated the control on startup, as you have. I also just ran a little test and could see good results in my console. Let me know if it works. var format = "application/vnd.ogc.gml"; ctrl_getfeatureInfo = new OpenLayers.Control.WMSGetFeatureInfo({ url:my geoserver, layers: [mylayer], ...



Only top voted, non community-wiki answers of a minimum length are eligible