OK I found solution: I had to place stylemap as option when defining specimen vector layer.<br><br>Hope all is ok now.<br><br>Thank you,<br>Adorian<br><br><a href="http://mybiosis.info">http://mybiosis.info</a><br><br><div class="gmail_quote">
On Wed, Jul 2, 2008 at 8:16 PM, Adorian Ardelean &lt;<a href="mailto:mynature@gmail.com">mynature@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br><b>Yes</b> the position of features on map is OK now&nbsp; (I initially added in the same place only this: &quot;projection: new OpenLayers.Projection(&quot;EPSG:4326&quot;)&quot;. Thank you!<br><br>However, the style map does not function yet.<br>

<br>Works OK under:<br>specimens2 = new OpenLayers.Layer.GML(&quot;specimens&quot;, &quot;geojson.php&quot;, {format: OpenLayers.Format.GeoJSON, projection: new OpenLayers.Projection(&quot;EPSG:4326&quot;), styleMap: new OpenLayers.StyleMap(style)});<br>

<br>but not as<br>var p = new OpenLayers.Format.GeoJSON({externalProjection: new OpenLayers.Projection(&#39;EPSG:4326&#39;),internalProjection: map.getProjectionObject(), styleMap: new OpenLayers.StyleMap(style)}); <br><br>

Tthis is a template context styling depending on value of parameters in GeoJSON file.<br><br>Any quick hints?<br><font color="#888888">Adorian</font><div><div></div><div class="Wj3C7c"><br><br><br><br><div class="gmail_quote">
On Wed, Jul 2, 2008 at 3:55 PM, Eric Lemoine &lt;<a href="mailto:eric.c2c@gmail.com" target="_blank">eric.c2c@gmail.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi. How about that:<br>
<br>
var format = new OpenLayers.Format.GeoJSON({externalProjection: new<br>
OpenLayers.Projection(&#39;EPSG:4326&#39;),internalProjection:<br>
map.getProjectionObject()});<br>
<br>
Note that i haven&#39;t tested this.<br>
<br>
Eric<br>
<br>
2008/7/2, Adorian Ardelean &lt;<a href="mailto:mynature@gmail.com" target="_blank">mynature@gmail.com</a>&gt;:<br>
<div><div></div><div>&gt; Hi,<br>
&gt;<br>
&gt; First of all thank you for the prompt suggestion. Worked perfectly and I was<br>
&gt; able to include also a style to work with properties defined within GeoJSON<br>
&gt; file:<br>
&gt; *<br>
&gt; specimens = new OpenLayers.Layer.GML(&quot;specimens&quot;, &quot;geojson.php&quot;, {format:<br>
&gt; OpenLayers.Format.GeoJSON, projection: new<br>
&gt; OpenLayers.Projection(&quot;EPSG:4326&quot;), styleMap: new<br>
&gt; OpenLayers.StyleMap(style)});*<br>
&gt;<br>
&gt; The situation I&#39;ve encountered now is that data from this layer has to be<br>
&gt; regenerated with every zoomend event (I do some clustering on server side to<br>
&gt; limit the number of features to less than 100 points - the return could be<br>
&gt; easily in hundreds or more). The part with zoomend event I can handle.<br>
&gt; However, I do not know what is the best strategy to handle this situation<br>
&gt; further:<br>
&gt;<br>
&gt; 1. delete the whole layer and recreate a new GML layer (using code above)<br>
&gt; every time? This produces some problems in handling controls (as I interpret<br>
&gt; from reaction of the scripts). The controls dedicated to layer &quot;specimens&quot;<br>
&gt; does not function anymore. I have to redeclare it again.<br>
&gt;<br>
&gt; 2. create a vector layer and load and delete features with zoom events<br>
&gt; without removing layer and controls.<br>
&gt;<br>
&gt; For second solution I have found the piece of code below, (which also works)<br>
&gt; but returns me to the initial question how do I specify in this context<br>
&gt; projection an style parameters?:<br>
&gt;<br>
&gt; *OpenLayers.loadURL(&quot;geojson.php&quot;, {}, null, styleMap: new<br>
&gt; OpenLayers.StyleMap(style)}, onLoadgml, onLoadFailedgml);<br>
&gt;<br>
&gt; function onLoadgml(r) {<br>
&gt; &nbsp; &nbsp; &nbsp;if (r.status == 200) {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; var p = new OpenLayers.Format.GeoJSON();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var f = p.read(r.responseText);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;specimens.addFeatures(f);<br>
&gt; &nbsp; &nbsp; &nbsp;}<br>
&gt; }*<br>
&gt; *<br>
&gt; ....<br>
&gt;<br>
&gt; *I would somehow prefer the second strategy. Could somebody give me a hint<br>
&gt; on how to include *{format: OpenLayers.Format.GeoJSON, projection: new<br>
&gt; OpenLayers.Projection(&quot;EPSG:4326&quot;)* in script so that OL renders vector<br>
&gt; features at the right place*?<br>
&gt;<br>
&gt; *All the best,<br>
&gt; Adorian<br>
&gt;<br>
&gt; On Sat, Jun 28, 2008 at 5:32 PM, Christopher Schmidt &lt;<br>
&gt; <a href="mailto:crschmidt@metacarta.com" target="_blank">crschmidt@metacarta.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; On Sat, Jun 28, 2008 at 04:39:19PM +0200, Adorian Ardelean wrote:<br>
&gt;&gt; &gt; Hi,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I am trying to load a GeoJSON file in a layer on top of a google map<br>
&gt;&gt; &gt; (OpenLayers 2.6).<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I used for now:<br>
&gt;&gt; &gt; var colfeatures = new OpenLayers.Layer.GML(&quot;specimens&quot;, &quot;geojson.php&quot;,<br>
&gt;&gt; &gt; {format: OpenLayers.Format.GeoJSON});<br>
&gt;&gt; &gt; map.addLayer(colfeatures);<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Entities show up on the map somewhere close to 0,0. For other vector<br>
&gt;&gt; &gt; entities (coordinates) I push through code this is solved with<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; var g = new OpenLayers.Projection(&quot;EPSG:4326&quot;);<br>
&gt;&gt; &gt; var p = new OpenLayers.Projection(&quot;EPSG:900913&quot;);<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; and .tranform(g,p)<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; but I do not know how to apply this directly on features read from<br>
&gt;&gt; GeoJSON.<br>
&gt;&gt; &gt; Is there a way to loop through all entities in colfeatures and apply<br>
&gt;&gt; &gt; transform(g.p) or can somebody suggest me a better approach?<br>
&gt;&gt; {format: OpenLayers.Format.GeoJSON} -&gt;<br>
&gt;&gt; &nbsp;{ format: OpenLayers.Format.GeoJSON,<br>
&gt;&gt; &nbsp; projection: new OpenLayers.Projection(&quot;EPSG:4326&quot;)<br>
&gt;&gt; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt; Regards,<br>
&gt;&gt; --<br>
&gt;&gt; Christopher Schmidt<br>
&gt;&gt; MetaCarta<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; <a href="http://mybiosis.info" target="_blank">http://mybiosis.info</a><br>
&gt;<br>
</div></div></blockquote></div>
</div></div></blockquote></div><br>