Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNUtilisation - f...Utilisation - f...Module MAP 1.0.9 position initiale de ma carteModule MAP 1.0.9 position initiale de ma carte
Précédente
 
Suivante
Nouveau message
20/02/2012 17:24
 

Bonjour,

j'ai créé une carte, dans laquelle j'ai défini plusieurs points (je les ai saisi directement dans sql dans Map_Points ).

Ma carte s'affiche correctement avec tous mes points, par contre en position initiale je me retrouve toujours en 0,0 en afrique!

Je n'arrive pas à me placer dans le sud de la france.

J'essaye de faire définir ma position dans interface (soit en la saisissant, soit en me positionant puis en faisant set) mais rien n'y fait.

J'ai l'impression que tout ce que je saisi ou modifie par l'interface n'est pas pris en compte dans mes tables.

Si quelqu'un peut m'aider.

 

Merci d'avance

 

 
Nouveau message
21/02/2012 11:19
 

Ok j'ai trouvé, ça pourra toujours vous servir.

il faut remplacer le texte en rouge dans monsite\DesktopModules\Map\Sources\Dotnetnuke.Map.Standard.js :

function mapWriteData(moduleID)

{var strvalue = 'SET:' + moduleID + '|' +
      'address=' + encodeURIComponent(SDATA[0]) + '&'  +
      'description=' + encodeURIComponent(SDATA[1]) + '&'  +
      'distance=' + encodeURIComponent(SDATA[2]) + '&' +
      'index=' + encodeURIComponent(SDATA[3]) + '&' +
      'latitude=' + encodeURIComponent(SDATA[4]) + '&' +
      'longitude=' + encodeURIComponent(SDATA[5]) + '&' +
      'iconindex=' + encodeURIComponent(SDATA[6]) + '&' +
      'sequence=' + encodeURIComponent(SDATA[7]) + '&' +
      'sequenceinfo=' + encodeURIComponent(SDATA[8]) + '&' +
      'zoomshow=' + encodeURIComponent(SDATA[9]) + '&' +
      'zoomhide=' + encodeURIComponent(SDATA[10]);
 return encodeURIComponent(strvalue);
}

par

return strvalue;


j'ai un autre probleme pour sauvegarder la positon initiale de la carte. Ca vient que le programme ne sait pas travailler avec la virgule comme separateur décimal. Si je met des entiers il les memorise, par contre si je met 44,23929609118664 par exemple, il enrgistre 0.

 




appears to be a bug with number formatting.  The locale I am set in is pl-PL so numbers are formatted 1,23 not 1.23. The module doesn't seem to be ble to save any of these at all... but whole numbers works fine.  I'm starting to work in the SQL tables so that will get around this though it is a bit of a nuisance.


By doing source code research, I've found this piece of code in Standard.Data.aspx.vb would always return false for regional dot separator different than '.':
...
Public Overloads Overrides Function SetData(ByVal Argument As String) As String
...
If variables.ContainsKey("latitude") AndAlso IsNumeric(variables("latitude")) Then
point.Latitude = Double.Parse(variables("latitude"), System.Globalization.CultureInfo.InvariantCulture)
Else
point.Latitude = -1
End If
If variables.ContainsKey("longitude") AndAlso IsNumeric(variables("longitude")) Then
point.Longitude = Double.Parse(variables("longitude"), System.Globalization.CultureInfo.InvariantCulture)
Else
point.Longitude = -1
End If
...


Module author sets the value of 'variables("longitude")' to invariant representation with javasript code (in Map.js) directly converting to '.' separator and then tries to check that value with IsNumeric function which is culture-aware. Hence, there will always be false result for cultures whose digital separator not set to '.'.




 


 


 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNUtilisation - f...Utilisation - f...Module MAP 1.0.9 position initiale de ma carteModule MAP 1.0.9 position initiale de ma carte