[OpenLayers-Commits] r11244 - in sandbox/cmoullet/openlayers: .
examples examples/img lib lib/OpenLayers
lib/OpenLayers/Control lib/OpenLayers/Handler tests
tests/Control tests/Handler
commits-20090109 at openlayers.org
commits-20090109 at openlayers.org
Tue Feb 22 09:41:55 EST 2011
Author: cmoullet
Date: 2011-02-22 06:41:55 -0800 (Tue, 22 Feb 2011)
New Revision: 11244
Added:
sandbox/cmoullet/openlayers/examples/img/
sandbox/cmoullet/openlayers/examples/img/marker_shadow.png
sandbox/cmoullet/openlayers/examples/img/mobile-zoombar.png
sandbox/cmoullet/openlayers/examples/img/popupMatrix.jpg
sandbox/cmoullet/openlayers/examples/img/small.jpg
sandbox/cmoullet/openlayers/examples/img/thinlong.jpg
sandbox/cmoullet/openlayers/examples/img/widelong.jpg
sandbox/cmoullet/openlayers/examples/img/wideshort.jpg
sandbox/cmoullet/openlayers/examples/kinetic.html
sandbox/cmoullet/openlayers/examples/mobile-navigation.js
sandbox/cmoullet/openlayers/examples/style.mobile.css
sandbox/cmoullet/openlayers/lib/OpenLayers/Kinetic.js
sandbox/cmoullet/openlayers/tests/Kinetic.html
Removed:
sandbox/cmoullet/openlayers/examples/img/marker_shadow.png
sandbox/cmoullet/openlayers/examples/img/mobile-zoombar.png
sandbox/cmoullet/openlayers/examples/img/popupMatrix.jpg
sandbox/cmoullet/openlayers/examples/img/small.jpg
sandbox/cmoullet/openlayers/examples/img/thinlong.jpg
sandbox/cmoullet/openlayers/examples/img/widelong.jpg
sandbox/cmoullet/openlayers/examples/img/wideshort.jpg
sandbox/cmoullet/openlayers/examples/marker_shadow.png
sandbox/cmoullet/openlayers/examples/popupMatrix.jpg
sandbox/cmoullet/openlayers/examples/small.jpg
sandbox/cmoullet/openlayers/examples/thinlong.jpg
sandbox/cmoullet/openlayers/examples/widelong.jpg
sandbox/cmoullet/openlayers/examples/wideshort.jpg
Modified:
sandbox/cmoullet/openlayers/
sandbox/cmoullet/openlayers/examples/example-list.html
sandbox/cmoullet/openlayers/examples/marker-shadow.html
sandbox/cmoullet/openlayers/examples/mobile-jq.html
sandbox/cmoullet/openlayers/examples/mobile-navigation.html
sandbox/cmoullet/openlayers/examples/mobile-sencha.html
sandbox/cmoullet/openlayers/examples/mobile.html
sandbox/cmoullet/openlayers/examples/mobile.js
sandbox/cmoullet/openlayers/examples/popupMatrix.html
sandbox/cmoullet/openlayers/lib/OpenLayers.js
sandbox/cmoullet/openlayers/lib/OpenLayers/Control/DragPan.js
sandbox/cmoullet/openlayers/lib/OpenLayers/Control/PanZoomBar.js
sandbox/cmoullet/openlayers/lib/OpenLayers/Control/TouchNavigation.js
sandbox/cmoullet/openlayers/lib/OpenLayers/Handler/Click.js
sandbox/cmoullet/openlayers/tests/Control/PanZoomBar.html
sandbox/cmoullet/openlayers/tests/Control/TouchNavigation.html
sandbox/cmoullet/openlayers/tests/Events.html
sandbox/cmoullet/openlayers/tests/Handler/Click.html
sandbox/cmoullet/openlayers/tests/Handler/Drag.html
sandbox/cmoullet/openlayers/tests/list-tests.html
Log:
Merge with trunk
Property changes on: sandbox/cmoullet/openlayers
___________________________________________________________________
Modified: svn:mergeinfo
- /sandbox/roberthl/openlayers:9745-9748
/trunk/openlayers:11161-11216
+ /sandbox/roberthl/openlayers:9745-9748
/trunk/openlayers:11161-11242
Modified: sandbox/cmoullet/openlayers/examples/example-list.html
===================================================================
--- sandbox/cmoullet/openlayers/examples/example-list.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/examples/example-list.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -14,14 +14,24 @@
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
html, body {
- height: 100%;
- overflow: hidden;
margin: 0;
padding: 0;
line-height: 1.25em;
}
+ #logo {
+ text-shadow: 2px 2px 3px gray;
+ color: white;
+ vertical-align: middle;
+ position: absolute;
+ top: 5px;
+ left: 5px;
+ font-size: 34px;
+ font-family: "Trebuchet MS",Helvetica,Arial,sans-serif;
+ }
+ #logo img {
+ vertical-align: middle;
+ }
.ex_container{
- border-bottom: 1px solid #cccccc;
}
.ex_container a {
text-decoration: none;
@@ -57,20 +67,18 @@
display: none;
}
#toc {
- width: 30%;
+ width: 100%;
height: 100%;
}
#filter {
+ position: fixed;
+ text-align: center;
top: 0px;
- height: 50px;
- padding: 10px 1em 10px 1em;
+ background: #9D9FA1;
+ width: 100%;
+ padding: 1.3em 0;
}
#examples {
- border-top: 1px solid #cccccc;
- position: absolute;
- width: 30%;
- top: 70px;
- bottom: 0px;
overflow: auto;
list-style: none;
margin: 0;
@@ -80,12 +88,21 @@
list-style: none;
margin: 0;
padding: 0;
+ margin-top: 4em;
}
#examples ul li {
- display: block;
- margin: 0;
+ display: inline;
+ float: left;
+ width: 350px;
+ margin: 10px 0 0 10px;
padding: 0;
+ border: 1px solid #ddd;
+ border-radius: 3px;
}
+ #examples .mainlink {
+ height: 8em;
+ overflow: hidden;
+ }
#exwin {
position: absolute;
top: 0;
@@ -96,6 +113,26 @@
border-left: 1px solid #cccccc;
margin: 0;
}
+ @media only screen and (max-width: 600px) {
+ #examples ul {
+ margin-top: 100px;
+ }
+ #filter {
+ padding-top: 50px;
+ }
+ #examples ul li {
+ margin-left: 0;
+ border-radius: 0;
+ border-width: 1px 0;
+ width: 100%;
+ }
+ #examples .mainlink {
+ height: auto;
+ }
+ #examples .ex_tags, #examples .ex_filename {
+ display: none;
+ }
+ }
</style>
<script type="text/javascript" src="Jugl.js"></script>
<script type="text/javascript" src="example-list.js"></script>
@@ -133,7 +170,7 @@
for(var i=0; i<words.length; ++i) {
var word = words[i].toLowerCase()
var dict = info.index[word];
- if(dict) {
+ var updateScores = function() {
for(exIndex in dict) {
var count = dict[exIndex];
if(scores[exIndex]) {
@@ -148,6 +185,18 @@
}
}
}
+ if(dict) {
+ updateScores();
+ } else {
+ var r;
+ for (idx in info.index) {
+ r = new RegExp(word);
+ if (r.test(idx)) {
+ dict = info.index[idx];
+ updateScores();
+ }
+ }
+ }
}
examples = [];
for(var j in scores) {
@@ -201,10 +250,10 @@
}
}
window.onload = function() {
+ //document.getElementById('keywords').focus();
template = new jugl.Template("template");
target = document.getElementById("examples");
listExamples(info.examples);
- document.getElementById("exwin").src = "../examples/example.html";
document.getElementById("keywords").onkeyup = inputChange
parseQuery();
};
@@ -213,20 +262,24 @@
<body>
<div id="toc">
<div id="filter">
+ <div id="logo">
+ <img src="http://www.openlayers.org/images/OpenLayers.trac.png"
+ />
+ OpenLayers
+ </div>
<p>
- <label for="keywords">Filter by keywords</label><br />
- <input type="text" id="keywords" />
- <span id="count"></span><br />
+ <input autofocus placeholder="filter by keywords..." type="text" id="keywords" />
+ <span id="count"></span>
<a href="javascript:void showAll();">show all</a>
</p>
</div>
<div id="examples"></div>
</div>
- <iframe id="exwin" name="exwin" frameborder="0"></iframe>
<div style="display: none;">
<ul id="template">
<li class="ex_container" jugl:repeat="example examples">
- <a jugl:attributes="href example.link" target="exwin">
+ <a jugl:attributes="href example.link" class="mainlink"
+ target="_blank">
<h5 class="ex_title">
<span jugl:replace="example.title">title</span><br />
<span class="ex_filename" jugl:content="'(' + example.example + ')'">filename</span>
Deleted: sandbox/cmoullet/openlayers/examples/img/marker_shadow.png
===================================================================
(Binary files differ)
Copied: sandbox/cmoullet/openlayers/examples/img/marker_shadow.png (from rev 11242, trunk/openlayers/examples/img/marker_shadow.png)
===================================================================
(Binary files differ)
Deleted: sandbox/cmoullet/openlayers/examples/img/mobile-zoombar.png
===================================================================
--- trunk/openlayers/examples/img/mobile-zoombar.png 2011-02-22 14:39:49 UTC (rev 11242)
+++ sandbox/cmoullet/openlayers/examples/img/mobile-zoombar.png 2011-02-22 14:41:55 UTC (rev 11244)
@@ -1,27 +0,0 @@
-PNG
-
-
-IHDR $ l sBIT|d pHYs ¯ ¯^ tEXtSoftware www.inkscape.orgî< -IDAThí{Te¾Ç?ï»/Ü6÷« fjZ)N*áÊ0q¼¶\ÙÊÕLu3+s¦9x#M0
-5ó¬$DEAH(rÚ(°A`ßÞóÇÆ»½1Mç,¿ÿíçúÙÏýù½ÏO$¾HVzb20¤@Ø]Tp øôÙ´üjÊ¿Y Aø(¤Å@4 ¿Éò
- at .k%éõ]·H>Ó <vÝH:âôzÎ- Â\ú¤³Un£µ0`©$Í0Þ4 |à²tàéÛcÑ0>'Io6õ
-Ô ß!ë*côÏ¡Dk²Î¹Ó0ë¥ëìÈ<fîX7ÙÓÓuZdé2ólÿ07b»>ûnh!ÓwƺnA¤ëÞ}-FÜÜVaÍÍ:L¦¾þ(Ó%éõ]+nß×¹\$#c
-Ï>ûUøîÝ?2cÆWèõ¦>(-v ð7O×sóÛ ¹SV6ßn\HÈÎïÓ` عQö æIÉ"0ánÜ bçâ4@Ä|¹W$§ëpeWÎÎ
-÷±Í¤ê6ÏȾx{;Úi¸vMßSu|Øí¢¡P:Àã÷ï©VNNO=ÁÐý v¸»;Ü6þ¸»;ô¦G »¡û@½©G +WÚÙ²¥ä¶U¶iÓ®\ië1M³@°;tçÔ©ìæQ«·PVÖhÞÔÔAo·®^÷0IÆÆðæfÛ°®8Ý<7£ÿ¬1t7t¨7Ý2Pe¥¯¿.· ß¿ÿÍ·Ôë´ïIr¹UFÓÖãæÙk·0L\¾ÜúK°Ñÿ1t§t¨7õyP;;+HHeÖ¬0BC½psSâì,ÚÚô44´S^ÞÈçHM-¦½ÝЧòozÚGDøñùçO3r¤¢(ÐØØÁ¹sW óæ/ÎÒÜÜAP/tÃÛÛ I(,¬çWrâÄåÛìÊÎS5ªMM|öÙ¿IN. ¶Ö<ÝWG` Äįmò%! ¸º*9r¤=ÔÔ´ôÔã1#²²ùû Ñ´Åòå9·ßÎ%2Ò¸¸!Vy++µüö·;Ñju¼õÖ÷DFúSQ±ÄÄ°[Z³æ ÒÓ§`2Iüã§yãì]ûr¹u#³gïãÓO'àím½j?^KJJQQøùãèÑ6oÌêÕãºAìý<pÕª.}uëNE||G øù9sð`
Uú¼¼5+;ÏYÅåæV±xq$hµz""ü@óæ
-cåÊqlÛvyóÐÚª'3ó<[·àëëÄ%L2£QâÚ5W¯¶#I[Í[o=FÓFII¢(êÅÄ
-õdþüáÖ¿JÉk¯ERZÚÀ3
-V at V:(HEEÅ4vRRþÍ;ï±ù«W'2ÒÚÚÔê U=Û@KÃùrút=áá>ÔÔ´PXXÏ¡C(2¦OaÂÎî|ÿººVû@yy/¢Vû1lØF¾ÿþÂÂRÑh¬o *ÒÒ¹Lü%EE?áêª$<ÜGG92@JJ,ï¿ôôÐju]]!¨ªzÑ£Ó¸t©ggõõ(.ÖðØci¶]6fL ï¾;ººkøúºpòäeÆíÏ7ß\´ÒéLøú:âÉwßU¢Ó©ªÒrñbååM¸¹9п¿+{÷Yå$xðAwÝ8r¤½ÞD}}¯¼2¬¬
-d2ÉÉO¢Ñ´²WW±±Y¸p..
-nÛ³§iÓØìØñ ¡mÜöí¥Ì9èè ÒÒ¢'%e¢%x½9#"üØ´éz~/þóQ
-;§Ò¿¿«UÁÇÕ¨"8Ø: ´ô
-DEÙZy©¦_?rrgóæÉlÜxääÔê d2¡())Qùë_Z2gdüÀGÀÇÇ¢¢ÙlÛö£G÷ÀdÈÎ.gêÔî[é¹ç¶
-1Â;§áä$§¥EOhè6n,æòEÁÒr"@BB(õõ6»ìì±c5lÝú;øôÓ§hlì !!Ô.СCÄÆ>À%ddL¡¦æ²²âÈÍbúô¯ðòr´µZ
-
-m 9ÀàÁ´´ØZ¶òók1ÂÖV=ÉÉ
üýï
DFú3vl&=È147/A§3b0H&F OOGJaaÞìÞý#ËæÒ%óÁ?,ÌÛÆØ~îÜUõîòósÆ`0±aÃÓ,\xÐrH×ëM´¶êquUÒØh¾ÔQPPÇ_#??°°Tär¹\@&ÉJ'N$òòËmþ¤V«ÃÕÕ¨²RKXwW98ÈøüóÿÅßß
}û¦àbIÜܬÃÍÍÖØÐÜl.¸©©6êê®QSÓBe¥y puUÚiZʤR)X¹2ÀÁAÖd2I("Ó¦eSÅéÓ³Y°`8`6*¨T¶S¿¥E³³Ân¥×··9JÁ¬YaÎÅÇÇ´´áYÖÞn$ À£Qâ/9ÊøñÛ5ërsgàbצ#IÐÞnÀÙÙö:°= ßüÆLäÕW#ËbÞ¼xz:¡Ó»´ZÕZSZz
m|öÙi<=ùöÛæÌ G©ìúøçááÑ(ÑÚj;åxx8XîlJ¥ñãÙ¸q{öÄS_ßJTT'OOCxðÓO×ÎA]\¬aÔ¨ ((¨£¬¬W_=IJejV¯O^^5¹¹Õ45é8{Öz§¾®¡C½¨¬Ôò?D;1c(.Ö]N~~-ÑÑýW¹sâD]Ð_0iÒÄÇ?Ä®]ç- Ǧ Ã+9|¸'¢£xüñþ¼üòHT\¼¸ÀÈËËAxøaoÖ¯/â
öÒÜlÞh×ÀµVi}}Ùµë\Ðöí?°iÓd6o(î³²fÌaíÚSÌMYY?õ#J¥ÊJ-?Ø -[¦¦¦¦
÷ß?n§Vû³}{©å÷c1%6o>Ód0(,¬ã¡<IN~G
- 9¹öí»`·[&OijÏfqñ¢Í§wFðcÏ2ðÜ<Ø'/ãêªdű,Z4S§ê,+·e·;÷ îî|òÉIyļ¼äæVÛ½WEErí¢¢lâö`Ⱥd·hÑH¶l)aÊÁÌ
!**AX²ä,i, at EE?qòäeÞ}wññ»io7Ä5OÒ¯UÁ3g%-í¬ÝKJ
-'-í¬IÆÉIÎÃQ«xç(fÏÞÇðá¾äåUWc0ujrNÝy&þX³æIxÀ
-WW% ¡lÛf$/½Fjj±UبQýÈÌC¥R²gOyï½h
-¸¸,ë2nüQ[ÛÂ/~ÍС^?Ë[yóÍÂÂRÑëäç'ráÂ|Ú9ÒÏÆ~=}zµµ47w0wî0ÒÓ§PW·õëc;63¾bÕª|þùÏÈßØíÞ\?þx<KªIM-æ÷¿ßo ÷÷w¦´t.ëÖB`ìØ DѼU®®JZZtèõ&¬`ÿþ8p?þñ1ä,\ø
-))±Ì?÷Þ;ÆþkÓÊÝ^¥W¬ÃÛoáøñZx"övS(/obùró LÀÁÁ|¸íµHbbILü¦Íòí^`ïÞxÔê-ìÞGD?|e˾³WmÏwû¤¤pÖ¯Å`0yðp_}tÖO
-rçøñDbb¶[Þ~~Îäç'òí·Ì9¹\dÎý¤¥uÿý¤Wc¿¿3qDEÒØØÎ
-ŬYS at U0ïSyy3Ùºµ5k
-,ùöàðáçðövÂÑQNAAÏ<³«WäMcÆæÃÇéL& Ñ´Q^Þ££''9ÙÙåôëg>øzáåeþæZPp
RPPw3ÕôÝ,ìì¬`Îp¦MÌ A¸àè(Çh4¡ÓhnîàÌÒÓKÉÌ<Ï+í})þÙ©ïî9ã} Þt¨7ÝêM÷zÓ} Þt¨7Ýs@½~ÀëîuÌè¿HMÄìÙÜ -[JHJÚ×ããÝhÞÞNh4¯Þëòõ]gs»Q÷ÜíݸAZ³û̽¢¨î.¶©©ªÛVÛ÷ßWÑÔÔãS°j¹Ù±Èþ¸6LLô¥Ý·°·¢¢"M//Ñ
K¬~¤·¥Æ_,!Q}6f/§»-è³ÅNÿ/[»È¯¯\IZ~µsÖÞ].<_><úË}ÈnUÒ1Iz#
-¬VjñÍ»c]·Èìs7ºNX{£WÞÏö²K¿"ÍÎ:-²2»é¹ó*6{áY»Úìöf8c4w¶¥Øó¾ÿ§Ik°{ÄÔؽáxkvg]ÿ¿=yíÑ IEND®B`
\ No newline at end of file
Copied: sandbox/cmoullet/openlayers/examples/img/mobile-zoombar.png (from rev 11242, trunk/openlayers/examples/img/mobile-zoombar.png)
===================================================================
--- sandbox/cmoullet/openlayers/examples/img/mobile-zoombar.png (rev 0)
+++ sandbox/cmoullet/openlayers/examples/img/mobile-zoombar.png 2011-02-22 14:41:55 UTC (rev 11244)
@@ -0,0 +1,27 @@
+PNG
+
+
+IHDR $ l sBIT|d pHYs ¯ ¯^ tEXtSoftware www.inkscape.orgî< -IDAThí{Te¾Ç?ï»/Ü6÷« fjZ)N*áÊ0q¼¶\ÙÊÕLu3+s¦9x#M0
+5ó¬$DEAH(rÚ(°A`ßÞóÇÆ»½1Mç,¿ÿíçúÙÏýù½ÏO$¾HVzb20¤@Ø]Tp øôÙ´üjÊ¿Y Aø(¤Å@4 ¿Éò
+ at .k%éõ]·H>Ó <vÝH:âôzÎ- Â\ú¤³Un£µ0`©$Í0Þ4 |à²tàéÛcÑ0>'Io6õ
+Ô ß!ë*côÏ¡Dk²Î¹Ó0ë¥ëìÈ<fîX7ÙÓÓuZdé2ólÿ07b»>ûnh!ÓwƺnA¤ëÞ}-FÜÜVaÍÍ:L¦¾þ(Ó%éõ]+nß×¹\$#c
+Ï>ûUøîÝ?2cÆWèõ¦>(-v ð7O×sóÛ ¹SV6ßn\HÈÎïÓ` عQö æIÉ"0ánÜ bçâ4@Ä|¹W$§ëpeWÎÎ
+÷±Í¤ê6ÏȾx{;Úi¸vMßSu|Øí¢¡P:Àã÷ï©VNNO=ÁÐý v¸»;Ü6þ¸»;ô¦G »¡û@½©G +WÚÙ²¥ä¶U¶iÓ®\ië1M³@°;tçÔ©ìæQ«·PVÖhÞÔÔAo·®^÷0IÆÆðæfÛ°®8Ý<7£ÿ¬1t7t¨7Ý2Pe¥¯¿.· ß¿ÿÍ·Ôë´ïIr¹UFÓÖãæÙk·0L\¾ÜúK°Ñÿ1t§t¨7õyP;;+HHeÖ¬0BC½psSâì,ÚÚô44´S^ÞÈçHM-¦½ÝЧòozÚGDøñùçO3r¤¢(ÐØØÁ¹sW óæ/ÎÒÜÜAP/tÃÛÛ I(,¬çWrâÄåÛìÊÎS5ªMM|öÙ¿IN. ¶Ö<ÝWG` Äįmò%! ¸º*9r¤=ÔÔ´ôÔã1#²²ùû Ñ´Åòå9·ßÎ%2Ò¸¸!Vy++µüö·;Ñju¼õÖ÷DFúSQ±ÄÄ°[Z³æ ÒÓ§`2Iüã§yãì]ûr¹u#³gïãÓO'àím½j?^KJJQQøùãèÑ6oÌêÕãºAìý<pÕª.}uëNE||G øù9sð`
Uú¼¼5+;ÏYÅåæV±xq$hµz""ü@óæ
+cåÊqlÛvyóÐÚª'3ó<[·àëëÄ%L2£QâÚ5W¯¶#I[Í[o=FÓFII¢(êÅÄ
+õdþüáÖ¿JÉk¯ERZÚÀ3
+V at V:(HEEÅ4vRRþÍ;ï±ù«W'2ÒÚÚÔê U=Û@KÃùrút=áá>ÔÔ´PXXÏ¡C(2¦OaÂÎî|ÿººVû@yy/¢Vû1lØF¾ÿþÂÂRÑh¬o *ÒÒ¹Lü%EE?áêª$<ÜGG92@JJ,ï¿ôôÐju]]!¨ªzÑ£Ó¸t©ggõõ(.ÖðØci¶]6fL ï¾;ººkøúºpòäeÆíÏ7ß\´ÒéLøú:âÉwßU¢Ó©ªÒrñbååM¸¹9п¿+{÷Yå$xðAwÝ8r¤½ÞD}}¯¼2¬¬
-d2ÉÉO¢Ñ´²WW±±Y¸p..
+nÛ³§iÓØìØñ ¡mÜöí¥Ì9èè ÒÒ¢'%e¢%x½9#"üØ´éz~/þóQ
+;§Ò¿¿«UÁÇÕ¨"8Ø: ´ô
+DEÙZy©¦_?rrgóæÉlÜxääÔê d2¡())Qùë_Z2gdüÀGÀÇÇ¢¢ÙlÛö£G÷ÀdÈÎ.gêÔî[é¹ç¶
+1Â;§áä$§¥EOhè6n,æòEÁÒr"@BB(õõ6»ìì±c5lÝú;øôÓ§hlì !!Ô.СCÄÆ>À%ddL¡¦æ²²âÈÍbúô¯ðòr´µZ
+
+m 9ÀàÁ´´ØZ¶òók1ÂÖV=ÉÉ
üýï
DFú3vl&=È147/A§3b0H&F OOGJaaÞìÞý#ËæÒ%óÁ?,ÌÛÆØ~îÜUõîòósÆ`0±aÃÓ,\xÐrH×ëM´¶êquUÒØh¾ÔQPPÇ_#??°°Tär¹\@&ÉJ'N$òòËmþ¤V«ÃÕÕ¨²RKXwW98ÈøüóÿÅßß
}û¦àbIÜܬÃÍÍÖØÐÜl.¸©©6êê®QSÓBe¥y puUÚiZʤR)X¹2ÀÁAÖd2I("Ó¦eSÅéÓ³Y°`8`6*¨T¶S¿¥E³³Ân¥×··9JÁ¬YaÎÅÇÇ´´áYÖÞn$ À£Qâ/9ÊøñÛ5ërsgàbצ#IÐÞnÀÙÙö:°= ßüÆLäÕW#ËbÞ¼xz:¡Ó»´ZÕZSZz
m|öÙi<=ùöÛæÌ G©ìúøçááÑ(ÑÚj;åxx8XîlJ¥ñãÙ¸q{öÄS_ßJTT'OOCxðÓO×ÎA]\¬aÔ¨ ((¨£¬¬W_=IJejV¯O^^5¹¹Õ45é8{Öz§¾®¡C½¨¬Ôò?D;1c(.Ö]N~~-ÑÑýW¹sâD]Ð_0iÒÄÇ?Ä®]ç- Ǧ Ã+9|¸'¢£xüñþ¼üòHT\¼¸ÀÈËËAxøaoÖ¯/â
öÒÜlÞh×ÀµVi}}Ùµë\Ðöí?°iÓd6o(î³²fÌaíÚSÌMYY?õ#J¥ÊJ-?Ø -[¦¦¦¦
÷ß?n§Vû³}{©å÷c1%6o>Ód0(,¬ã¡<IN~G
+ 9¹öí»`·[&OijÏfqñ¢Í§wFðcÏ2ðÜ<Ø'/ãêªdű,Z4S§ê,+·e·;÷ îî|òÉIyļ¼äæVÛ½WEErí¢¢lâö`Ⱥd·hÑH¶l)aÊÁÌ
!**AX²ä,i, at EE?qòäeÞ}wññ»io7Ä5OÒ¯UÁ3g%-í¬ÝKJ
+'-í¬IÆÉIÎÃQ«xç(fÏÞÇðá¾äåUWc0ujrNÝy&þX³æIxÀ
+WW% ¡lÛf$/½Fjj±UبQýÈÌC¥R²gOyï½h
+¸¸,ë2nüQ[ÛÂ/~ÍС^?Ë[yóÍÂÂRÑëäç'ráÂ|Ú9ÒÏÆ~=}zµµ47w0wî0ÒÓ§PW·õëc;63¾bÕª|þùÏÈßØíÞ\?þx<KªIM-æ÷¿ßo ÷÷w¦´t.ëÖB`ìØ DѼU®®JZZtèõ&¬`ÿþ8p?þñ1ä,\ø
+))±Ì?÷Þ;ÆþkÓÊÝ^¥W¬ÃÛoáøñZx"övS(/obùró LÀÁÁ|¸íµHbbILü¦Íòí^`ïÞxÔê-ìÞGD?|e˾³WmÏwû¤¤pÖ¯Å`0yðp_}tÖO
+rçøñDbb¶[Þ~~Îäç'òí·Ì9¹\dÎý¤¥uÿý¤Wc¿¿3qDEÒØØÎ
+ŬYS at U0ïSyy3Ùºµ5k
+,ùöàðáçðövÂÑQNAAÏ<³«WäMcÆæÃÇéL& Ñ´Q^Þ££''9ÙÙåôëg>øzáåeþæZPp
RPPw3ÕôÝ,ìì¬`Îp¦MÌ A¸àè(Çh4¡ÓhnîàÌÒÓKÉÌ<Ï+í})þÙ©ïî9ã} Þt¨7ÝêM÷zÓ} Þt¨7Ýs@½~ÀëîuÌè¿HMÄìÙÜ -[JHJÚ×ããÝhÞÞNh4¯Þëòõ]gs»Q÷ÜíݸAZ³û̽¢¨î.¶©©ªÛVÛ÷ßWÑÔÔãS°j¹Ù±Èþ¸6LLô¥Ý·°·¢¢"M//Ñ
K¬~¤·¥Æ_,!Q}6f/§»-è³ÅNÿ/[»È¯¯\IZ~µsÖÞ].<_><úË}ÈnUÒ1Iz#
+¬VjñÍ»c]·Èìs7ºNX{£WÞÏö²K¿"ÍÎ:-²2»é¹ó*6{áY»Úìöf8c4w¶¥Øó¾ÿ§Ik°{ÄÔؽáxkvg]ÿ¿=yíÑ IEND®B`
\ No newline at end of file
Deleted: sandbox/cmoullet/openlayers/examples/img/popupMatrix.jpg
===================================================================
(Binary files differ)
Copied: sandbox/cmoullet/openlayers/examples/img/popupMatrix.jpg (from rev 11242, trunk/openlayers/examples/img/popupMatrix.jpg)
===================================================================
(Binary files differ)
Deleted: sandbox/cmoullet/openlayers/examples/img/small.jpg
===================================================================
(Binary files differ)
Copied: sandbox/cmoullet/openlayers/examples/img/small.jpg (from rev 11242, trunk/openlayers/examples/img/small.jpg)
===================================================================
(Binary files differ)
Deleted: sandbox/cmoullet/openlayers/examples/img/thinlong.jpg
===================================================================
(Binary files differ)
Copied: sandbox/cmoullet/openlayers/examples/img/thinlong.jpg (from rev 11242, trunk/openlayers/examples/img/thinlong.jpg)
===================================================================
(Binary files differ)
Deleted: sandbox/cmoullet/openlayers/examples/img/widelong.jpg
===================================================================
(Binary files differ)
Copied: sandbox/cmoullet/openlayers/examples/img/widelong.jpg (from rev 11242, trunk/openlayers/examples/img/widelong.jpg)
===================================================================
(Binary files differ)
Deleted: sandbox/cmoullet/openlayers/examples/img/wideshort.jpg
===================================================================
(Binary files differ)
Copied: sandbox/cmoullet/openlayers/examples/img/wideshort.jpg (from rev 11242, trunk/openlayers/examples/img/wideshort.jpg)
===================================================================
(Binary files differ)
Copied: sandbox/cmoullet/openlayers/examples/kinetic.html (from rev 11242, trunk/openlayers/examples/kinetic.html)
===================================================================
--- sandbox/cmoullet/openlayers/examples/kinetic.html (rev 0)
+++ sandbox/cmoullet/openlayers/examples/kinetic.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -0,0 +1,81 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>OpenLayers Kinetic Dragging Example</title>
+ <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+ <link rel="stylesheet" href="style.css" type="text/css" />
+ <style type="text/css">
+ #map {
+ width: 100%;
+ height: 100%;
+ }
+ </style>
+ <script src="../lib/OpenLayers.js"></script>
+ <script type="text/javascript">
+ var map, layer;
+ function init(){
+ map = new OpenLayers.Map({
+ div: "map",
+ resolutions: [0.087890625, 0.0439453125, 0.02197265625, 0.010986328125],
+ panDuration: 100,
+ controls: [
+ new OpenLayers.Control.Navigation(
+ {dragPanOptions: {enableKinetic: true}}
+ )
+ ]
+ });
+ layer = new OpenLayers.Layer.TileCache("TileCache Layer",
+ ["http://c0.tilecache.osgeo.org/wms-c/cache/",
+ "http://c1.tilecache.osgeo.org/wms-c/cache/",
+ "http://c2.tilecache.osgeo.org/wms-c/cache/",
+ "http://c3.tilecache.osgeo.org/wms-c/cache/",
+ "http://c4.tilecache.osgeo.org/wms-c/cache/"],
+ "basic",
+ {
+ serverResolutions: [0.703125, 0.3515625, 0.17578125, 0.087890625,
+ 0.0439453125, 0.02197265625, 0.010986328125,
+ 0.0054931640625, 0.00274658203125, 0.001373291015625,
+ 0.0006866455078125, 0.00034332275390625, 0.000171661376953125,
+ 0.0000858306884765625, 0.00004291534423828125, 0.000021457672119140625],
+ buffer: 4
+ }
+ );
+ map.addLayer(layer);
+ map.setCenter(new OpenLayers.LonLat(0, 0), 0);
+ }
+ </script>
+ </head>
+ <body onload="init()">
+ <h1 id="title">Kinetic Dragging Example</h1>
+
+ <div id="tags">
+ kinetic, dragging
+ </div>
+
+ <p id="shortdesc">
+ Demonstrates Kinetic Dragging.
+ </p>
+
+ <div id="map" class="smallmap"></div>
+
+ <div id="docs">
+
+ <p>
+ OpenLayers Kinetic Dragging inspired from <a href="http://www.tile5.org">Tile5</a>, and
+ <a href="http://code.google.com/p/kineticscrolling/">kineticscrolling</a> for Google Maps API V3.
+ </p>
+
+ <p>
+
+ As shown in this example Kinetic Dragging is enabled by setting
+ <code>enableKinetic</code> to true in the config object provided to the
+ <code>Control.DragPan</code> constructor. When using
+ <code>Control.Navigation</code> or <code>Control.TouchNavigation</code>
+ providing options to the underlying <code>Control.DragPan</code>
+ instance is done through the <code>dragPanOptions</code> config
+ property.
+
+ </p>
+
+ </div>
+ </body>
+</html>
Modified: sandbox/cmoullet/openlayers/examples/marker-shadow.html
===================================================================
--- sandbox/cmoullet/openlayers/examples/marker-shadow.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/examples/marker-shadow.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -39,7 +39,7 @@
styleMap: new OpenLayers.StyleMap({
// Set the external graphic and background graphic images.
externalGraphic: "../img/marker-gold.png",
- backgroundGraphic: "./marker_shadow.png",
+ backgroundGraphic: "./img/marker_shadow.png",
// Makes sure the background graphic is placed correctly relative
// to the external graphic.
Deleted: sandbox/cmoullet/openlayers/examples/marker_shadow.png
===================================================================
(Binary files differ)
Modified: sandbox/cmoullet/openlayers/examples/mobile-jq.html
===================================================================
--- sandbox/cmoullet/openlayers/examples/mobile-jq.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/examples/mobile-jq.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -9,7 +9,7 @@
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css">
<script src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script>
- <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+ <link rel="stylesheet" href="style.mobile.css" type="text/css">
<script src="../lib/OpenLayers.js"></script>
<script src="mobile.js"></script>
<style>
@@ -37,6 +37,9 @@
bottom: 5px;
right: 5px;
}
+ #tags {
+ display: none;
+ }
</style>
<script>
$(document).ready(function() {
@@ -101,6 +104,9 @@
</script>
</head>
<body>
+ <div id="tags">
+ mobile, jquery
+ </div>
<div data-role="page">
<div data-role="header">
<input id="west" type="button" data-icon="arrow-l" value="west">
Modified: sandbox/cmoullet/openlayers/examples/mobile-navigation.html
===================================================================
--- sandbox/cmoullet/openlayers/examples/mobile-navigation.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/examples/mobile-navigation.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -5,25 +5,10 @@
<meta name="apple-mobile-web-app-capable" content="yes" />
<title>OpenLayers TouchNavigation Control</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+ <link rel="stylesheet" href="style.mobile.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
- <script src="../lib/OpenLayers.js"></script>
- <script type="text/javascript">
- var map, layer;
- function init() {
- map = new OpenLayers.Map( 'map', { controls: [
- new OpenLayers.Control.TouchNavigation({
- dragPanOptions: {
- interval: 0 // non-zero kills performance on some mobile phones
- }
- })
- ] });
- layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
- "http://vmap0.tiles.osgeo.org/wms/vmap0",
- {layers: 'basic'} );
- map.addLayer(layer);
- map.setCenter(new OpenLayers.LonLat(5, 40), 2);
- }
- </script>
+ <script type="text/javascript" src="../lib/OpenLayers.js"></script>
+ <script type="text/javascript" src="mobile-navigation.js"></script>
</head>
<body onload="init()">
<h1 id="title">TouchNavigation Control</h1>
@@ -36,9 +21,15 @@
<div id="map" class="smallmap"></div>
<div id="docs">
- This example demonstrates a couple features of the TouchNavigation
- control. The TouchNavigation control controls most map dragging,
- movement, zooming, etc, optimized for mobile devices.
+ <p>
+ This example demonstrates a couple features of the TouchNavigation
+ control. The TouchNavigation control controls most map dragging,
+ movement, zooming, etc, optimized for mobile devices.
+ </p>
+ <p>
+ See the <a href="mobile-navigation.js" target="_blank">mobile-navigation.js
+ source</a> to see how this is done.
+ </p>
</div>
</body>
</html>
Copied: sandbox/cmoullet/openlayers/examples/mobile-navigation.js (from rev 11242, trunk/openlayers/examples/mobile-navigation.js)
===================================================================
--- sandbox/cmoullet/openlayers/examples/mobile-navigation.js (rev 0)
+++ sandbox/cmoullet/openlayers/examples/mobile-navigation.js 2011-02-22 14:41:55 UTC (rev 11244)
@@ -0,0 +1,17 @@
+var map, layer;
+function init() {
+ map = new OpenLayers.Map('map', { controls: [
+ new OpenLayers.Control.TouchNavigation({
+ dragPanOptions: {
+ interval: 0, // non-zero kills performance on some mobile phones
+ enableKinetic: true
+ }
+ }),
+ new OpenLayers.Control.ZoomPanel()
+ ] });
+ layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
+ "http://vmap0.tiles.osgeo.org/wms/vmap0",
+ {layers: 'basic'} );
+ map.addLayer(layer);
+ map.setCenter(new OpenLayers.LonLat(5, 40), 2);
+}
Modified: sandbox/cmoullet/openlayers/examples/mobile-sencha.html
===================================================================
--- sandbox/cmoullet/openlayers/examples/mobile-sencha.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/examples/mobile-sencha.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -6,7 +6,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>OpenLayers with Sencha Touch</title>
<script src="../lib/OpenLayers.js"></script>
- <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+ <link rel="stylesheet" href="style.mobile.css" type="text/css">
<link rel="stylesheet" href="http://dev.sencha.com/deploy/touch/resources/css/sencha-touch.css">
<script src="http://dev.sencha.com/deploy/touch/sencha-touch.js"></script>
<script src="mobile.js"></script>
@@ -20,6 +20,9 @@
bottom: 5px;
right: 5px;
}
+ #tags {
+ display: none;
+ }
</style>
<script>
@@ -121,5 +124,9 @@
});
</script>
</head>
- <body></body>
+ <body>
+ <div id="tags">
+ mobile, sencha
+ </div>
+ </body>
</html>
Modified: sandbox/cmoullet/openlayers/examples/mobile.html
===================================================================
--- sandbox/cmoullet/openlayers/examples/mobile.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/examples/mobile.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -4,7 +4,7 @@
<title>OpenLayers Mobile</title>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0;">
<meta name="apple-mobile-web-app-capable" content="yes">
- <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+ <link rel="stylesheet" href="style.mobile.css" type="text/css">
<script src="../lib/OpenLayers.js"></script>
<script src="mobile.js"></script>
<style>
@@ -23,9 +23,15 @@
bottom: 5px;
right: 5px;
}
+ #tags {
+ display: none;
+ }
</style>
</head>
<body>
+ <div id="tags">
+ mobile
+ </div>
<div id="map"></div>
<script>
init();
Modified: sandbox/cmoullet/openlayers/examples/mobile.js
===================================================================
--- sandbox/cmoullet/openlayers/examples/mobile.js 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/examples/mobile.js 2011-02-22 14:41:55 UTC (rev 11244)
@@ -19,7 +19,12 @@
-20037508.34, -20037508.34, 20037508.34, 20037508.34
),
controls: [
- new OpenLayers.Control.Navigation(),
+ new OpenLayers.Control.TouchNavigation({
+ dragPanOptions: {
+ interval: 0, // non-zero kills performance on some mobile phones
+ enableKinetic: true
+ }
+ }),
new OpenLayers.Control.Attribution(),
new OpenLayers.Control.DrawFeature(
vector, OpenLayers.Handler.Point, {id: "point-control"}
@@ -30,7 +35,8 @@
new OpenLayers.Control.DrawFeature(
vector, OpenLayers.Handler.Polygon, {id: "poly-control"}
),
- new OpenLayers.Control.ModifyFeature(vector, {id: "mod-control"})
+ new OpenLayers.Control.ModifyFeature(vector, {id: "mod-control"}),
+ new OpenLayers.Control.ZoomPanel()
],
layers: [new OpenLayers.Layer.OSM(), vector],
center: new OpenLayers.LonLat(0, 0),
Modified: sandbox/cmoullet/openlayers/examples/popupMatrix.html
===================================================================
--- sandbox/cmoullet/openlayers/examples/popupMatrix.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/examples/popupMatrix.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -83,7 +83,7 @@
layer = new OpenLayers.Layer.Image(
"popupMatrix",
- "popupMatrix.jpg",
+ "img/popupMatrix.jpg",
new OpenLayers.Bounds(-82.5,-71.5,97.5,67.5),
new OpenLayers.Size(1024,768)
);
@@ -109,52 +109,52 @@
//anchored popup small contents no autosize
ll = new OpenLayers.LonLat(-55,20);
popupClass = OpenLayers.Popup.Anchored;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML);
//anchored popup small contents no autosize closebox
var ll = new OpenLayers.LonLat(-50,20);
popupClass = OpenLayers.Popup.Anchored;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored popup small contents autosize
ll = new OpenLayers.LonLat(-40,20);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML);
//anchored popup small contents autosize closebox
ll = new OpenLayers.LonLat(-35,20);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored popup small contents autosize minsize
ll = new OpenLayers.LonLat(-25,20);
popupClass = AutoSizeAnchoredMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML);
//anchored popup small contents autosize minsize closebox
ll = new OpenLayers.LonLat(-20,20);
popupClass = AutoSizeAnchoredMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored popup small contents autosize maxsize
ll = new OpenLayers.LonLat(-10,20);
popupClass = AutoSizeAnchoredMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML);
//anchored popup small contents autosize maxsize closebox
ll = new OpenLayers.LonLat(-5,20);
popupClass = AutoSizeAnchoredMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
@@ -186,39 +186,39 @@
//anchored popup wide short fixed contents autosize
ll = new OpenLayers.LonLat(35,20);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="wideshort.jpg"></img>';
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML);
//anchored popup wide short fixed contents autosize closebox
ll = new OpenLayers.LonLat(40,20);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="wideshort.jpg"></img>';
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored popup thin long fixed contents autosize
ll = new OpenLayers.LonLat(50,20);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="thinlong.jpg"></img>';
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML);
//anchored popup thin long fixed contents autosize closebox
ll = new OpenLayers.LonLat(55,20);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="thinlong.jpg"></img>';
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored popup wide long fixed contents autosize
ll = new OpenLayers.LonLat(65,20);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML);
//anchored popup wide long fixed contents autosize closebox
ll = new OpenLayers.LonLat(70,20);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true);
//
@@ -228,52 +228,52 @@
//anchored popup small contents no autosize overflow
var ll = new OpenLayers.LonLat(-55,15);
popupClass = OpenLayers.Popup.Anchored;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored popup small contents no autosize closebox overflow
var ll = new OpenLayers.LonLat(-50,15);
popupClass = OpenLayers.Popup.Anchored;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored popup small contents autosize overflow
ll = new OpenLayers.LonLat(-40,15);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored popup small contents autosize closebox overflow
ll = new OpenLayers.LonLat(-35,15);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored popup small contents autosize minsize overflow
ll = new OpenLayers.LonLat(-25,15);
popupClass = AutoSizeAnchoredMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored popup small contents autosize minsize closebox overflow
ll = new OpenLayers.LonLat(-20,15);
popupClass = AutoSizeAnchoredMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored popup small contents autosize maxsize overflow
ll = new OpenLayers.LonLat(-10,15);
popupClass = AutoSizeAnchoredMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored popup small contents autosize maxsize closebox overflow
ll = new OpenLayers.LonLat(-5,15);
popupClass = AutoSizeAnchoredMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
@@ -305,39 +305,39 @@
//anchored popup wide short fixed contents autosize overflow
ll = new OpenLayers.LonLat(35,15);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="wideshort.jpg"></img>'
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored popup wide short fixed contents autosize closebox overflow
ll = new OpenLayers.LonLat(40,15);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="wideshort.jpg"></img>'
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored popup thin long fixed contents autosize overflow
ll = new OpenLayers.LonLat(50,15);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="thinlong.jpg"></img>'
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored popup thin long fixed contents autosize closebox overflow
ll = new OpenLayers.LonLat(55,15);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="thinlong.jpg"></img>'
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored popup wide long fixed contents autosize overflow
ll = new OpenLayers.LonLat(65,15);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored popup wide long fixed contents autosize closebox overflow
ll = new OpenLayers.LonLat(70,15);
popupClass = AutoSizeAnchored;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true, true);
@@ -348,52 +348,52 @@
//anchored bubble popup small contents no autosize
var ll = new OpenLayers.LonLat(-55,5);
popupClass = OpenLayers.Popup.AnchoredBubble;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false);
//anchored bubble popup small contents no autosize closebox
var ll = new OpenLayers.LonLat(-50,5);
popupClass = OpenLayers.Popup.AnchoredBubble;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored bubble popup small contents autosize
ll = new OpenLayers.LonLat(-40,5);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false);
//anchored bubble popup small contents autosize closebox
ll = new OpenLayers.LonLat(-35,5);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored bubble popup small contents autosize minsize
ll = new OpenLayers.LonLat(-25,5);
popupClass = AutoSizeAnchoredBubbleMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false);
//anchored bubble popup small contents autosize minsize closebox
ll = new OpenLayers.LonLat(-20,5);
popupClass = AutoSizeAnchoredBubbleMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored bubble popup small contents autosize maxsize
ll = new OpenLayers.LonLat(-10,5);
popupClass = AutoSizeAnchoredBubbleMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false);
//anchored bubble popup small contents autosize maxsize closebox
ll = new OpenLayers.LonLat(-5,5);
popupClass = AutoSizeAnchoredBubbleMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
@@ -426,39 +426,39 @@
//anchored bubble popup wide short fixed contents autosize
ll = new OpenLayers.LonLat(35,5);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="wideshort.jpg"></img>'
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML);
//anchored bubble popup wide short fixed contents autosize closebox
ll = new OpenLayers.LonLat(40,5);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="wideshort.jpg"></img>'
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true);
//anchored bubble popup thin long fixed contents autosize
ll = new OpenLayers.LonLat(50,5);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="thinlong.jpg"></img>'
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML);
//anchored bubble popup thin long fixed contents autosize closebox
ll = new OpenLayers.LonLat(55,5);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="thinlong.jpg"></img>'
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true);
//anchored bubble popup wide long fixed contents autosize
ll = new OpenLayers.LonLat(65,5);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML);
//anchored bubble popup wide long fixed contents autosize closebox
ll = new OpenLayers.LonLat(70,5);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true);
//
@@ -468,52 +468,52 @@
//anchored bubble popup small contents no autosize
var ll = new OpenLayers.LonLat(-55,0);
popupClass = OpenLayers.Popup.AnchoredBubble;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup small contents no autosize closebox
var ll = new OpenLayers.LonLat(-50,0);
popupClass = OpenLayers.Popup.AnchoredBubble;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored bubble popup small contents autosize
ll = new OpenLayers.LonLat(-40,0);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup small contents autosize closebox
ll = new OpenLayers.LonLat(-35,0);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored bubble popup small contents autosize minsize
ll = new OpenLayers.LonLat(-25,0);
popupClass = AutoSizeAnchoredBubbleMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup small contents autosize minsize closebox
ll = new OpenLayers.LonLat(-20,0);
popupClass = AutoSizeAnchoredBubbleMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored bubble popup small contents autosize maxsize
ll = new OpenLayers.LonLat(-10,0);
popupClass = AutoSizeAnchoredBubbleMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup small contents autosize maxsize closebox
ll = new OpenLayers.LonLat(-5,0);
popupClass = AutoSizeAnchoredBubbleMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
@@ -546,39 +546,39 @@
//anchored bubble popup wide short fixed contents autosize overflow
ll = new OpenLayers.LonLat(35,0);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="wideshort.jpg"></img>'
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup wide short fixed contents autosize closebox overflow
ll = new OpenLayers.LonLat(40,0);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="wideshort.jpg"></img>'
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored bubble popup thin long fixed contents autosize overflow
ll = new OpenLayers.LonLat(50,0);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="thinlong.jpg"></img>'
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup thin long fixed contents autosize closebox overflow
ll = new OpenLayers.LonLat(55,0);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="thinlong.jpg"></img>'
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored bubble popup wide long fixed contents autosize overflow
ll = new OpenLayers.LonLat(65,0);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup wide long fixed contents autosize closebox overflow
ll = new OpenLayers.LonLat(70,0);
popupClass = AutoSizeAnchoredBubble;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true, true);
//FRAMED
@@ -590,52 +590,52 @@
//anchored bubble popup small contents no autosize
var ll = new OpenLayers.LonLat(-55,-15);
popupClass = OpenLayers.Popup.FramedCloud;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false);
//anchored bubble popup small contents no autosize closebox
var ll = new OpenLayers.LonLat(-50,-15);
popupClass = OpenLayers.Popup.FramedCloud;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored bubble popup small contents autosize
ll = new OpenLayers.LonLat(-40,-15);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false);
//anchored bubble popup small contents autosize closebox
ll = new OpenLayers.LonLat(-35,-15);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored bubble popup small contents autosize minsize
ll = new OpenLayers.LonLat(-25,-15);
popupClass = AutoSizeFramedCloudMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false);
//anchored bubble popup small contents autosize minsize closebox
ll = new OpenLayers.LonLat(-20,-15);
popupClass = AutoSizeFramedCloudMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
//anchored bubble popup small contents autosize maxsize
ll = new OpenLayers.LonLat(-10,-15);
popupClass = AutoSizeFramedCloudMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false);
//anchored bubble popup small contents autosize maxsize closebox
ll = new OpenLayers.LonLat(-5,-15);
popupClass = AutoSizeFramedCloudMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true);
@@ -668,39 +668,39 @@
//anchored bubble popup wide short fixed contents autosize
ll = new OpenLayers.LonLat(35,-15);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="wideshort.jpg"></img>'
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML);
//anchored bubble popup wide short fixed contents autosize closebox
ll = new OpenLayers.LonLat(40,-15);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="wideshort.jpg"></img>'
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true);
//anchored bubble popup thin long fixed contents autosize
ll = new OpenLayers.LonLat(50,-15);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="thinlong.jpg"></img>'
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML);
//anchored bubble popup thin long fixed contents autosize closebox
ll = new OpenLayers.LonLat(55,-15);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="thinlong.jpg"></img>'
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true);
//anchored bubble popup wide long fixed contents autosize
ll = new OpenLayers.LonLat(65,-15);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML);
//anchored bubble popup wide long fixed contents autosize closebox
ll = new OpenLayers.LonLat(70,-15);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true);
//
@@ -710,52 +710,52 @@
//anchored bubble popup small contents no autosize
var ll = new OpenLayers.LonLat(-55,-20);
popupClass = OpenLayers.Popup.FramedCloud;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup small contents no autosize closebox
var ll = new OpenLayers.LonLat(-50,-20);
popupClass = OpenLayers.Popup.FramedCloud;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored bubble popup small contents autosize
ll = new OpenLayers.LonLat(-40,-20);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup small contents autosize closebox
ll = new OpenLayers.LonLat(-35,-20);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored bubble popup small contents autosize minsize
ll = new OpenLayers.LonLat(-25,-20);
popupClass = AutoSizeFramedCloudMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup small contents autosize minsize closebox
ll = new OpenLayers.LonLat(-20,-20);
popupClass = AutoSizeFramedCloudMinSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored bubble popup small contents autosize maxsize
ll = new OpenLayers.LonLat(-10,-20);
popupClass = AutoSizeFramedCloudMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup small contents autosize maxsize closebox
ll = new OpenLayers.LonLat(-5,-20);
popupClass = AutoSizeFramedCloudMaxSize;
- popupContentHTML = '<img src="small.jpg"></img>';
+ popupContentHTML = '<img src="img/small.jpg"></img>';
addMarker(ll, popupClass, popupContentHTML, true, true);
@@ -788,39 +788,39 @@
//anchored bubble popup wide short fixed contents autosize overflow
ll = new OpenLayers.LonLat(35,-20);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="wideshort.jpg"></img>'
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup wide short fixed contents autosize closebox overflow
ll = new OpenLayers.LonLat(40,-20);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="wideshort.jpg"></img>'
+ popupContentHTML = '<img src="img/wideshort.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored bubble popup thin long fixed contents autosize overflow
ll = new OpenLayers.LonLat(50,-20);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="thinlong.jpg"></img>'
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup thin long fixed contents autosize closebox overflow
ll = new OpenLayers.LonLat(55,-20);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="thinlong.jpg"></img>'
+ popupContentHTML = '<img src="img/thinlong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true, true);
//anchored bubble popup wide long fixed contents autosize overflow
ll = new OpenLayers.LonLat(65,-20);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, false, true);
//anchored bubble popup wide long fixed contents autosize closebox overflow
ll = new OpenLayers.LonLat(70,-20);
popupClass = AutoSizeFramedCloud;
- popupContentHTML = '<img src="widelong.jpg"></img>'
+ popupContentHTML = '<img src="img/widelong.jpg"></img>'
addMarker(ll, popupClass, popupContentHTML, true, true);
@@ -881,16 +881,16 @@
<div id="map" class="smallmap"></div>
<!-- preloading these images so the autosize will work correctly -->
- <img src="wideshort.jpg" style="position:absolute; top:-5000px; left: -5000px"></img>
- <img src="widelong.jpg" style="position:absolute; top:-5000px; left: -5000px"></img>
- <img src="thinlong.jpg" style="position:absolute; top:-5000px; left: -5000px"></img>
+ <img src="img/wideshort.jpg" style="position:absolute; top:-5000px; left: -5000px"></img>
+ <img src="img/widelong.jpg" style="position:absolute; top:-5000px; left: -5000px"></img>
+ <img src="img/thinlong.jpg" style="position:absolute; top:-5000px; left: -5000px"></img>
<p> All of the images in this file a pre-cached, meaning they are
loaded immediately when you load the page (they are just placed
far offscreen, that's why you don't see them).
</p>
<br>
- <p> The only image that is *not* preloaded is small.jpg, the brazilian
+ <p> The only image that is *not* preloaded is img/small.jpg, the brazilian
flag. We do this in order to test out to make sure that our auto-sizing
code does in fact activate itself as the images load. To verify
this, clear your cache and reload this example page. Click on
Deleted: sandbox/cmoullet/openlayers/examples/popupMatrix.jpg
===================================================================
(Binary files differ)
Deleted: sandbox/cmoullet/openlayers/examples/small.jpg
===================================================================
(Binary files differ)
Copied: sandbox/cmoullet/openlayers/examples/style.mobile.css (from rev 11242, trunk/openlayers/examples/style.mobile.css)
===================================================================
--- sandbox/cmoullet/openlayers/examples/style.mobile.css (rev 0)
+++ sandbox/cmoullet/openlayers/examples/style.mobile.css 2011-02-22 14:41:55 UTC (rev 11244)
@@ -0,0 +1,25 @@
+div.olControlZoomPanel {
+ height: 108px
+ width: 36px;
+ position: absolute;
+ top: 20px;
+ left: 20px;
+}
+div.olControlZoomPanel div {
+ width: 36px;
+ height: 36px;
+ background-image: url(img/mobile-zoombar.png);
+ left: 0;
+}
+div.olControlZoomPanel .olControlZoomInItemInactive {
+ top: 0;
+ background-position: 0 0;
+}
+div.olControlZoomPanel .olControlZoomToMaxExtentItemInactive {
+ top: 36px;
+ background-position: 0 -36px;
+}
+div.olControlZoomPanel .olControlZoomOutItemInactive {
+ top: 72px;
+ background-position: 0 -72px;
+}
Deleted: sandbox/cmoullet/openlayers/examples/thinlong.jpg
===================================================================
(Binary files differ)
Deleted: sandbox/cmoullet/openlayers/examples/widelong.jpg
===================================================================
(Binary files differ)
Deleted: sandbox/cmoullet/openlayers/examples/wideshort.jpg
===================================================================
(Binary files differ)
Modified: sandbox/cmoullet/openlayers/lib/OpenLayers/Control/DragPan.js
===================================================================
--- sandbox/cmoullet/openlayers/lib/OpenLayers/Control/DragPan.js 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/lib/OpenLayers/Control/DragPan.js 2011-02-22 14:41:55 UTC (rev 11244)
@@ -43,16 +43,48 @@
* mouse cursor leaves the map viewport. Default is false.
*/
documentDrag: false,
-
+
/**
+ * Property: kinetic
+ * {OpenLayers.Kinetic} The OpenLayers.Kinetic object.
+ */
+ kinetic: null,
+
+ /**
+ * APIProperty: enableKinetic
+ * {Boolean} Set this option to enable "kinetic dragging". Can be
+ * set to true or to an object. If set to an object this
+ * object will be passed to the {<OpenLayers.Kinetic>}
+ * constructor. Defaults to false.
+ */
+ enableKinetic: false,
+
+ /**
+ * APIProperty: kineticInterval
+ * {Integer} Interval in milliseconds between 2 steps in the "kinetic
+ * scrolling". Applies only if enableKinetic is set. Defaults
+ * to 10 milliseconds.
+ */
+ kineticInterval: 10,
+
+
+ /**
* Method: draw
* Creates a Drag handler, using <panMap> and
* <panMapDone> as callbacks.
*/
draw: function() {
+ if(this.enableKinetic) {
+ var config = {interval: this.kineticInterval};
+ if(typeof this.enableKinetic === "object") {
+ config = OpenLayers.Util.extend(config, this.enableKinetic);
+ }
+ this.kinetic = new OpenLayers.Kinetic(config);
+ }
this.handler = new OpenLayers.Handler.Drag(this, {
"move": this.panMap,
- "done": this.panMapDone
+ "done": this.panMapDone,
+ "down": this.panMapStart
}, {
interval: this.interval,
documentDrag: this.documentDrag
@@ -61,17 +93,29 @@
},
/**
+ * Method: panMapStart
+ */
+ panMapStart: function() {
+ if(this.kinetic) {
+ this.kinetic.begin();
+ }
+ },
+
+ /**
* Method: panMap
*
* Parameters:
* xy - {<OpenLayers.Pixel>} Pixel of the mouse position
*/
panMap: function(xy) {
+ if(this.kinetic) {
+ this.kinetic.update(xy);
+ }
this.panned = true;
this.map.pan(
this.handler.last.x - xy.x,
this.handler.last.y - xy.y,
- {dragging: this.handler.dragging, animate: false}
+ {dragging: true, animate: false}
);
},
@@ -85,7 +129,21 @@
*/
panMapDone: function(xy) {
if(this.panned) {
- this.panMap(xy);
+ var res = null;
+ if (this.kinetic) {
+ res = this.kinetic.end(xy);
+ }
+ this.map.pan(
+ this.handler.last.x - xy.x,
+ this.handler.last.y - xy.y,
+ {dragging: !!res, animate: false}
+ );
+ if (res) {
+ var self = this;
+ this.kinetic.move(res, function(x, y, end) {
+ self.map.pan(x, y, {dragging: !end, animate: false});
+ });
+ }
this.panned = false;
}
},
Modified: sandbox/cmoullet/openlayers/lib/OpenLayers/Control/PanZoomBar.js
===================================================================
--- sandbox/cmoullet/openlayers/lib/OpenLayers/Control/PanZoomBar.js 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/lib/OpenLayers/Control/PanZoomBar.js 2011-02-22 14:41:55 UTC (rev 11244)
@@ -386,7 +386,8 @@
zoomLevel = Math.min(Math.max(zoomLevel, 0),
this.map.getNumZoomLevels() - 1);
} else {
- zoomLevel += Math.round(this.deltaY/this.zoomStopHeight);
+ zoomLevel += this.deltaY/this.zoomStopHeight;
+ zoomLevel = Math.max(Math.round(zoomLevel), 0);
}
this.map.zoomTo(zoomLevel);
this.mouseDragStart = null;
Modified: sandbox/cmoullet/openlayers/lib/OpenLayers/Control/TouchNavigation.js
===================================================================
--- sandbox/cmoullet/openlayers/lib/OpenLayers/Control/TouchNavigation.js 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/lib/OpenLayers/Control/TouchNavigation.js 2011-02-22 14:41:55 UTC (rev 11244)
@@ -128,7 +128,7 @@
* evt - {Event}
*/
defaultClick: function (evt) {
- if(evt.lasttouches && evt.lasttouches.length == 2) {
+ if(evt.lastTouches && evt.lastTouches.length == 2) {
this.map.zoomOut();
}
},
Modified: sandbox/cmoullet/openlayers/lib/OpenLayers/Handler/Click.js
===================================================================
--- sandbox/cmoullet/openlayers/lib/OpenLayers/Handler/Click.js 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/lib/OpenLayers/Handler/Click.js 2011-02-22 14:41:55 UTC (rev 11244)
@@ -97,6 +97,12 @@
last: null,
/**
+ * Property: touch
+ * {Boolean} Are we on a touch enabled device? Default is false.
+ */
+ touch: false,
+
+ /**
* Property: rightclickTimerId
* {Number} The id of the right mouse timeout waiting to clear the
* <delayedEvent>.
@@ -148,6 +154,7 @@
* {Boolean} Continue propagating this event.
*/
touchstart: function(evt) {
+ this.touch = true;
this.down = evt;
this.last = null;
return true;
@@ -279,6 +286,10 @@
* {Boolean} Continue propagating this event.
*/
click: function(evt) {
+ // Sencha Touch emulates click events, see ticket 3079 for more info
+ if (this.touch === true && evt.type === "click") {
+ return !this.stopSingle;
+ }
if(this.passesTolerance(evt)) {
if(this.timerId != null) {
// already received a click
Copied: sandbox/cmoullet/openlayers/lib/OpenLayers/Kinetic.js (from rev 11242, trunk/openlayers/lib/OpenLayers/Kinetic.js)
===================================================================
--- sandbox/cmoullet/openlayers/lib/OpenLayers/Kinetic.js (rev 0)
+++ sandbox/cmoullet/openlayers/lib/OpenLayers/Kinetic.js 2011-02-22 14:41:55 UTC (rev 11244)
@@ -0,0 +1,174 @@
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
+ * full list of contributors). Published under the Clear BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+OpenLayers.Kinetic = OpenLayers.Class({
+
+ /**
+ * Property: threshold
+ * In most cases changing the threshold isn't needed.
+ * In px/ms, default to 0.
+ */
+ threshold: 0,
+
+ /**
+ * Property: interval
+ * {Integer} Interval in milliseconds between 2 steps in the "kinetic
+ * dragging". Defaults to 10 milliseconds.
+ */
+ interval: 10,
+
+ /**
+ * Property: deceleration
+ * {Float} the deseleration in px/ms², default to 0.0035.
+ */
+ deceleration: 0.0035,
+
+ /**
+ * Property: nbPoints
+ * {Integer} the number of points we use to calculate the kinetic
+ * initial values.
+ */
+ nbPoints: 100,
+
+ /**
+ * Property: delay
+ * {Float} time to consider to calculate the kinetic initial values.
+ * In ms, default to 200.
+ */
+ delay: 200,
+
+ /**
+ * Property: points
+ * List of points use to calculate the kinetic initial values.
+ */
+ points: undefined,
+
+ /**
+ * Property: timerId
+ * ID of the timer.
+ */
+ timerId: undefined,
+
+ /**
+ * Constructor: OpenLayers.Kinetic
+ *
+ * Parameters:
+ * options - {Object}
+ */
+ initialize: function(options) {
+ OpenLayers.Util.extend(this, options);
+ },
+
+ /**
+ * Method: begin
+ *
+ * Begins the dragging.
+ */
+ begin: function() {
+ clearInterval(this.timerId);
+ this.timerId = undefined;
+ this.points = [];
+ },
+
+ /**
+ * Method: update
+ *
+ * Updates during the dragging.
+ */
+ update: function(xy) {
+ this.points.unshift({xy: xy, tick: new Date().getTime()});
+ if (this.points.length > this.nbPoints) {
+ this.points.pop();
+ }
+ },
+
+ /**
+ * Method: end
+ *
+ * Ends the dragging, start the kinetic.
+ */
+ end: function(xy) {
+ var last, now = new Date().getTime();
+ for (var i = 0, l = this.points.length, point; i < l; i++) {
+ point = this.points[i];
+ if (now - point.tick > this.delay) {
+ break;
+ }
+ last = point;
+ }
+ if (!last) {
+ return;
+ }
+ var time = new Date().getTime() - last.tick;
+ var dist = Math.sqrt(Math.pow(xy.x - last.xy.x, 2) +
+ Math.pow(xy.y - last.xy.y, 2));
+ var speed = dist / time;
+ if (speed == 0 || speed < this.threshold) {
+ return;
+ }
+ var theta = Math.asin((xy.y - last.xy.y) / dist);
+ if (last.xy.x <= xy.x) {
+ theta = Math.PI - theta;
+ }
+ return {speed: speed, theta: theta};
+ },
+
+ /**
+ * Method: move
+ *
+ * Launch the kinetic move pan.
+ *
+ * Parameters:
+ * info - {Object}
+ * callback - arguments x, y (values to pan), end (is the last point)
+ */
+ move: function(info, callback) {
+ var v0 = info.speed;
+ var fx = Math.cos(info.theta);
+ var fy = -Math.sin(info.theta);
+
+ var time = 0;
+ var initialTime = new Date().getTime();
+
+ var lastX = 0;
+ var lastY = 0;
+
+ var timerCallback = function() {
+ if (this.timerId == null) {
+ return;
+ }
+
+ time += this.interval;
+ var realTime = new Date().getTime() - initialTime;
+ var t = (time + realTime) / 2.0;
+
+ var p = (-this.deceleration * Math.pow(t, 2)) / 2.0 + v0 * t;
+ var x = p * fx;
+ var y = p * fy;
+
+ var args = {};
+ args.end = false;
+ var v = -this.deceleration * t + v0;
+
+ if (v <= 0) {
+ clearInterval(this.timerId);
+ this.timerId = null;
+ args.end = true;
+ }
+
+ args.x = x - lastX;
+ args.y = y - lastY;
+ lastX = x;
+ lastY = y;
+ callback(args.x, args.y, args.end);
+ };
+
+ this.timerId = window.setInterval(
+ OpenLayers.Function.bind(timerCallback, this),
+ this.interval);
+ },
+
+ CLASS_NAME: "OpenLayers.Kinetic"
+});
Modified: sandbox/cmoullet/openlayers/lib/OpenLayers.js
===================================================================
--- sandbox/cmoullet/openlayers/lib/OpenLayers.js 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/lib/OpenLayers.js 2011-02-22 14:41:55 UTC (rev 11244)
@@ -105,6 +105,7 @@
"OpenLayers/BaseTypes/Size.js",
"OpenLayers/Console.js",
"OpenLayers/Tween.js",
+ "OpenLayers/Kinetic.js",
"Rico/Corner.js",
"Rico/Color.js",
"OpenLayers/Ajax.js",
Modified: sandbox/cmoullet/openlayers/tests/Control/PanZoomBar.html
===================================================================
--- sandbox/cmoullet/openlayers/tests/Control/PanZoomBar.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/tests/Control/PanZoomBar.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -44,7 +44,7 @@
control = new OpenLayers.Control.PanZoomBar();
map.addControl(control);
control.removeButtons();
- control._removeZoomBar();
+ map.destroy();
t.eq(control.div.childNodes.length, 0, "control's div cleared.");
t.eq(control.zoombarDiv, null, "zoombar div nullified.")
}
@@ -67,20 +67,104 @@
}
- function test_Control_PanZoomBar_forceFixedZoomLevel_divClick (t) {
+ function test_Control_PanZoomBar_forceFixedZoomLevel_divClick(t){
t.plan(1);
- map = new OpenLayers.Map('map', {controls:[], fractionalZoom: true});
- var layer = new OpenLayers.Layer.WMS("Test Layer",
- "http://octo.metacarta.com/cgi-bin/mapserv?",
- {map: "/mapdata/vmap_wms.map", layers: "basic"});
+ map = new OpenLayers.Map('map', {
+ controls: [],
+ fractionalZoom: true
+ });
+ var layer = new OpenLayers.Layer.WMS("Test Layer", "http://octo.metacarta.com/cgi-bin/mapserv?", {
+ map: "/mapdata/vmap_wms.map",
+ layers: "basic"
+ });
map.addLayer(layer);
- control = new OpenLayers.Control.PanZoomBar({forceFixedZoomLevel: true});
+ control = new OpenLayers.Control.PanZoomBar({
+ forceFixedZoomLevel: true
+ });
map.addControl(control);
-
- control.divClick({'xy': {'x': 0, 'y': 49}, which: 1});
- t.eq(map.zoom, 11, "forceFixedZoomLevel makes sure only fixed zoom levels are used even if the map has fractionalZoom");
+
+ control.divClick({
+ 'xy': {
+ 'x': 0,
+ 'y': 49
+ },
+ which: 1
+ });
+ t.eq(map.zoom, 11, "forceFixedZoomLevel makes sure that after a div click only fixed zoom levels are used even if the map has fractionalZoom");
+ }
+
+ function test_Control_PanZoomBar_forceFixedZoomLevel_zoomBarUp (t) {
+ var numRandomDrags = 25;
+ // plan one static recorded test and two for every random drag
+ t.plan(1 + (numRandomDrags * 2));
+
+
+ var map = new OpenLayers.Map('map', {
+ controls: [],
+ fractionalZoom: true
+ });
+ var layer = new OpenLayers.Layer.WMS("Test Layer", "http://octo.metacarta.com/cgi-bin/mapserv?", {
+ map: "/mapdata/vmap_wms.map",
+ layers: "basic"
+ });
+ map.addLayer(layer);
+
+ // zoom to a fractional ZoomLevel initially:
+ map.setCenter(new OpenLayers.LonLat(0, 0), 9.545);
+
+ control = new OpenLayers.Control.PanZoomBar({
+ forceFixedZoomLevel: true
+ });
+ map.addControl(control);
+
+ // The y values come from manually recording real values in an example
+ var evt = {
+ 'xy': {
+ 'x': 0,
+ 'y': -10.633
+ },
+ which: 1
+ };
+ control.zoomStart = {
+ 'x': 0,
+ 'y': 5.366
+ };
+ control.mouseDragStart = {
+ 'x': 0,
+ 'y': -10.633
+ };
+ control.deltaY = control.zoomStart.y - evt.xy.y
+ control.zoomBarUp(evt);
+ t.eq(map.zoom, 11, "forceFixedZoomLevel makes sure that after dragging of the handle only fixed zoom levels are used even if the map has fractionalZoom");
+
+ // randomly drag the handle around
+ // we should never get a zoom < 0 or a non-integer zoom, regardless of
+ // captured random values for start and end of the drag.
+ for (var i = 0; i < numRandomDrags; i++) {
+ var randStartY = Math.random() * 10 * ((i % 2 === 0) ? -1 : 1);
+ var randStopY = Math.random() * 160 * ((i % 2 === 1) ? -1 : 1);
+ var evt = {
+ 'xy': {
+ 'x': 0,
+ 'y': randStopY
+ },
+ which: 1
+ };
+ control.zoomStart = {
+ 'x': 0,
+ 'y': randStartY
+ };
+ control.mouseDragStart = {
+ 'x': 0,
+ 'y': randStopY
+ };
+ control.deltaY = control.zoomStart.y - evt.xy.y
+ control.zoomBarUp(evt);
+
+ t.eq(Math.floor(map.zoom), Math.ceil(map.zoom), 'Only integer zooms after random handle drag with forceFixedZoomLevel=true and fractionalZoom=true (current zoom was ' + map.zoom + ')');
+ t.ok(map.zoom >= 0, 'map.zoom is never < 0 after random handle drag with forceFixedZoomLevel=true and fractionalZoom=true');
+ }
}
-
</script>
</head>
<body>
Modified: sandbox/cmoullet/openlayers/tests/Control/TouchNavigation.html
===================================================================
--- sandbox/cmoullet/openlayers/tests/Control/TouchNavigation.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/tests/Control/TouchNavigation.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -102,6 +102,28 @@
}
+ function test_zoomOut(t) {
+ t.plan(1);
+
+ var map = new OpenLayers.Map(document.body);
+ var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
+ "http://labs.metacarta.com/wms/vmap0",
+ {layers: 'basic'} );
+ map.addLayer(layer);
+ map.setCenter(new OpenLayers.LonLat(0, 0), 5);
+ var control = new OpenLayers.Control.TouchNavigation();
+ map.addControl(control);
+ var handler = control.handlers.click;
+ handler.touchstart({xy: {x: 1, y: 1}, touches: ["foo", "bar"]});
+ handler.touchend({});
+ t.delay_call(1, function() {
+ t.eq(map.getZoom(), 4, "Did we zoom out?");
+ // tear down
+ map.destroy();
+ });
+
+ }
+
</script>
</head>
<body>
Modified: sandbox/cmoullet/openlayers/tests/Events.html
===================================================================
--- sandbox/cmoullet/openlayers/tests/Events.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/tests/Events.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -305,9 +305,23 @@
events.unregister("something", instance, listener1);
events.unregister("something", instance, listener2);
events.unregister("something", instance, listener3);
-
}
+ function test_Events_handleBrowserEvent(t) {
+ t.plan(2);
+ var events = new OpenLayers.Events({}, null, ['sometouchevent']);
+ events.on({'sometouchevent': function() {}});
+
+ // this test verifies that when handling a touch event we correctly
+ // set clientX and clientY in the event object
+ var evt = {type: 'sometouchevent',
+ touches: [{clientX: 1, clientY: 1}, {clientX: 2, clientY: 2}]
+ };
+ events.handleBrowserEvent(evt);
+ t.eq(evt.clientX, 1, "evt.clientX value is correct");
+ t.eq(evt.clientY, 1, "evt.clientY value is correct");
+ }
+
function test_Events_destroy (t) {
t.plan(2);
Modified: sandbox/cmoullet/openlayers/tests/Handler/Click.html
===================================================================
--- sandbox/cmoullet/openlayers/tests/Handler/Click.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/tests/Handler/Click.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -329,6 +329,43 @@
});
}
+ function test_touch_ignoresimulatedclick(t) {
+ t.plan(2);
+
+ // set up
+
+ var log;
+
+ var map = new OpenLayers.Map('map');
+ var control = {map: map};
+
+ var callbacks = {
+ 'dblclick': function(e) {
+ log.dblclick = {x: e.xy.x, y: e.xy.y,
+ lastTouches: e.lastTouches};
+ }
+ };
+
+ var handler = new OpenLayers.Handler.Click(
+ control, callbacks,
+ {'double': true, pixelTolerance: null});
+
+ // test
+
+ log = {};
+ handler.touchstart({xy: {x: 1, y: 1}, touches: ["foo"]});
+ handler.touchend({});
+ handler.touchstart({xy: {x: 1, y: 1}, touches: ["foo"]});
+ handler.touchend({type: "click"});
+
+ t.eq(handler.touch, true, "Touch property should be true");
+
+ t.ok(log.dblclick == undefined, "dblclick callback not called with simulated click");
+
+ // tear down
+ map.destroy();
+ }
+
function test_touch_dblclick(t) {
t.plan(5);
Modified: sandbox/cmoullet/openlayers/tests/Handler/Drag.html
===================================================================
--- sandbox/cmoullet/openlayers/tests/Handler/Drag.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/tests/Handler/Drag.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -289,6 +289,57 @@
}
+ function test_Handler_Drag_touch(t) {
+ // In this test we verify that "touchstart", "touchmove", and
+ // "touchend" events set expected states in the drag handler.
+ // We also verify that we stop event bubbling as appropriate.
+
+ t.plan(12);
+
+ // set up
+
+ var m = new OpenLayers.Map('map', {controls: []});
+ var c = new OpenLayers.Control();
+ m.addControl(c);
+ var h = new OpenLayers.Handler.Drag(c, {
+ done: function(px) { log = px; }});
+ h.activate();
+
+ var _stop = OpenLayers.Event.stop;
+ OpenLayers.Event.stop = function(e) { log = e; };
+
+ var Px = OpenLayers.Pixel, e, log;
+
+ // test
+
+ e = {touches: [{}], xy: new Px(0, 0)};
+ m.events.triggerEvent('touchstart', e);
+ t.eq(h.started, true, '[touchstart] started is set');
+ t.eq(h.start.x, 0, '[touchstart] start.x is correct');
+ t.eq(h.start.y, 0, '[touchstart] start.y is correct');
+ t.eq(log, undefined, '[touchstart] event is not stopped');
+
+ e = {xy: new Px(1, 1)};
+ m.events.triggerEvent('touchmove', e);
+ t.eq(h.dragging, true, '[touchmove] dragging is set');
+ t.eq(h.last.x, 1, '[touchstart] last.x is correct');
+ t.eq(h.last.y, 1, '[touchstart] last.y is correct');
+ t.ok(log == e, '[touchmove] event is stopped');
+
+ e = {xy: new Px(2, 2)};
+ m.events.triggerEvent('touchend', e);
+ t.eq(h.started, false, '[touchend] started is reset');
+ t.eq(h.started, false, '[touchend] started is reset');
+ // the "done" callback gets the position of the last touchmove
+ t.eq(log.x, 1, '[touchend] done callback got correct x position');
+ t.eq(log.y, 1, '[touchend] done callback got correct y position');
+
+ // tear down
+
+ OpenLayers.Event.stop = _stop;
+ m.destroy();
+ }
+
function test_Handler_Drag_submethods(t) {
t.plan(8);
Copied: sandbox/cmoullet/openlayers/tests/Kinetic.html (from rev 11242, trunk/openlayers/tests/Kinetic.html)
===================================================================
--- sandbox/cmoullet/openlayers/tests/Kinetic.html (rev 0)
+++ sandbox/cmoullet/openlayers/tests/Kinetic.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -0,0 +1,130 @@
+<html>
+<head>
+ <script src="OLLoader.js"></script>
+ <script type="text/javascript">
+
+ function test_Kinetic (t) {
+ t.plan(17);
+ var finish = false;
+ var results = {
+ 110: {x: -2.7, y: -3.6, end: false},
+ 120: {x: -2.1, y: -2.8, end: false},
+ 130: {x: -1.5, y: -2.0, end: false},
+ 140: {x: -0.9, y: -1.2, end: false},
+ 150: {x: -0.3, y: -0.4, end: true}
+ };
+
+ var originalGetTime = Date.prototype.getTime;
+ Date.prototype.getTime = function() { return 0 };
+
+ var originalSetInterval = window.setInterval;
+ window.setInterval = function(callback, interval) {
+ while (!finish) {
+ var time = new Date().getTime();
+ Date.prototype.getTime = function() { return time+interval };
+ callback();
+ }
+ };
+
+ var kinetic = new OpenLayers.Kinetic({
+ deceleration: 0.01
+ });
+ kinetic.begin();
+ kinetic.update({x:0, y:0});
+
+ Date.prototype.getTime = function() { return 100 };
+ var measure = kinetic.end({x:30, y:40});
+
+ t.eq(measure.speed, 0.5, "correct speed");
+ t.eq(measure.theta, Math.PI - Math.atan(40/30), "correct angle");
+
+ // fake timer id
+ kinetic.timerId = 0;
+ kinetic.move(measure, function(x, y, end) {
+ var result = results[new Date().getTime()];
+ t.eq(Math.round(x * 1000) / 1000, result.x, "correct x");
+ t.eq(Math.round(y * 1000) / 1000, result.y, "correct y");
+ t.eq(end, result.end, "correct end");
+ finish = end;
+ });
+
+ Date.prototype.getTime = originalGetTime;
+ window.setInterval = originalSetInterval;
+ }
+
+ function test_Angle (t) {
+ t.plan(8);
+ var results = [
+ {speed: 0.5, theta: Math.round((Math.PI - Math.atan(40/30)) * 1000000) / 1000000},
+ {speed: 0.5, theta: Math.round((Math.PI + Math.atan(40/30)) * 1000000) / 1000000},
+ {speed: 0.5, theta: Math.round((- Math.atan(40/30)) * 1000000) / 1000000},
+ {speed: 0.5, theta: Math.round((Math.atan(40/30)) * 1000000) / 1000000}
+ ];
+
+ var originalGetTime = Date.prototype.getTime;
+ Date.prototype.getTime = function() { return 0 };
+
+ var kinetic = new OpenLayers.Kinetic();
+ kinetic.begin();
+ kinetic.update({x:0, y:0});
+
+ Date.prototype.getTime = function() { return 100 };
+ var measure = kinetic.end({x:30, y:40});
+
+ t.eq(measure.speed, results[0].speed, "correct speed");
+ t.eq(Math.round(measure.theta * 1000000) / 1000000,
+ results[0].theta, "correct angle");
+
+
+ var originalGetTime = Date.prototype.getTime;
+ Date.prototype.getTime = function() { return 0 };
+
+ var kinetic = new OpenLayers.Kinetic();
+ kinetic.begin();
+ kinetic.update({x:0, y:0});
+
+ Date.prototype.getTime = function() { return 100 };
+ var measure = kinetic.end({x:30, y:-40});
+
+ t.eq(measure.speed, results[1].speed, "correct speed");
+ t.eq(Math.round(measure.theta * 1000000) / 1000000,
+ results[1].theta, "correct angle");
+
+
+ var originalGetTime = Date.prototype.getTime;
+ Date.prototype.getTime = function() { return 0 };
+
+ var kinetic = new OpenLayers.Kinetic();
+ kinetic.begin();
+ kinetic.update({x:0, y:0});
+
+ Date.prototype.getTime = function() { return 100 };
+ var measure = kinetic.end({x:-30, y:-40});
+
+ t.eq(measure.speed, results[2].speed, "correct speed");
+ t.eq(Math.round(measure.theta * 1000000) / 1000000,
+ results[2].theta, "correct angle");
+
+ var originalGetTime = Date.prototype.getTime;
+ Date.prototype.getTime = function() { return 0 };
+
+ var kinetic = new OpenLayers.Kinetic();
+ kinetic.begin();
+ kinetic.update({x:0, y:0});
+
+ Date.prototype.getTime = function() { return 100 };
+ var measure = kinetic.end({x:-30, y:40});
+
+ t.eq(measure.speed, results[3].speed, "correct speed");
+ t.eq(Math.round(measure.theta * 1000000) / 1000000,
+ results[3].theta, "correct angle");
+
+ Date.prototype.getTime = originalGetTime;
+ }
+ </script>
+</head>
+<body>
+ <div id="map" style="width: 600px; height: 300px;"/>
+ <div style="display: none;"><div id="invisimap"></div></div>
+</body>
+</html>
Modified: sandbox/cmoullet/openlayers/tests/list-tests.html
===================================================================
--- sandbox/cmoullet/openlayers/tests/list-tests.html 2011-02-22 14:40:37 UTC (rev 11243)
+++ sandbox/cmoullet/openlayers/tests/list-tests.html 2011-02-22 14:41:55 UTC (rev 11244)
@@ -208,5 +208,6 @@
<li>Tile/Image/IFrame.html</li>
<li>Tile/WFS.html</li>
<li>Tween.html</li>
+ <li>Kinetic.html</li>
<li>Util.html</li>
</ul>
More information about the Commits
mailing list