IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Salesforce.com Discussion :

Personnalisation compte avec cartographie google map


Sujet :

Salesforce.com

  1. #1
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut Personnalisation compte avec cartographie google map
    Bonjour,
    Comme premier essai de personnalisation de fiche, j'ai voulu essayer d'ajouter la géolocalisation de nos comptes sur une fiche de compte. Comme cela ne marche pas, j'aurais voulu savoir si ma démarche est bonne, ou à défaut savoir pourquoi cela ne fonctionne pas :

    - J'ai fait Configuration / Développez / Page : Créer une nouvelle page dont le code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <apex:page showHeader="false" sidebar="false" standardController="Account">
        <script type="text/javascript" src="http://www.google.com/jsapi?key=AIzaSyC9PewP8xvWEIuZAYeBdGPgtDAZX6PGImw"></script>
        <script type="text/javascript">
            google.load("maps", "2.x");
            
            var addressPoint;
            
            // Fonction appelée quand la page a été chargée
            function initialize() {
                if (GBrowserIsCompatible()) {
                    var map = new google.maps.Map2(document.getElementById("map"));
                    map.addControl(new GSmallMapControl()); 
                    
                    var address = "{!Account.BillingStreet}" + ", " + "{!Account.BillingCity}" + ", " + "{!Account.BillingState}"+"{!Account.BillingPostalCode}" + "," + "{!Account.BillingCountry}";
                       alert('adresse : >'+address+'<');
                    var geocoder = new GClientGeocoder();
                    geocoder.getLatLng(address, function(newPoint) {
                        if (!newPoint) {
                            $('#textAddress').html('Impossible de trouver la localisation du compte');
                        } else {
                            map.setCenter(newPoint, 14);
                            map.addOverlay(new GMarker(newPoint)); 
                            var marker = new GMarker(newPoint); 
                            map.addOverlay(marker); 
                            marker.openInfoWindowHtml("<div style=\"float:left;\"><div style=\"font-family: arial, san-serif; padding-left:30px;\"><span style=\"font-weight:bold;\">{!Account.Name}</span><br/>{!Account.BillingStreet}<br/>{!Account.BillingCity}, {!Account.BillingState} {!Account.BillingPostalCode}<br/><br/></div></div>");
                        }
                    });
                }
            }
                    
            google.setOnLoadCallback(initialize);
        </script> 
         <style>
            .locationGoogleMap {
                color:#4A4A56;
                font-family:arial,helvetica,sans-serif;
                font-size:12px;
                font-weight:bold;
                left:24.3%;
                position:relative;
            }
            
            #textAddress {
                color:#000000;
                font-family:arial,helvetica,sans-serif;
                font-size:18px;
                height:20px;
                left:40%;
                position:relative;
            }       
        </style>
        
        <apex:outputpanel id="googleMap" layout="none">
            <span id="textAddress"></span>
                <div id="contentMap" style="width: 100%; position:relative; margin-top:10px;"> 
                    <div id="map" style="height: 300px;"></div>
                </div>
        </apex:outputpanel>
    </apex:page>
    J'ai fait personnalisation de compte, créer une nouvelle page basée sur la page "défaut" et ajouté la page que je venais de créer à l'intérieur (comme un bloc). Déjà, est-ce une démarche normale pour personnaliser en ajoutant juste quelque chose sans avoir à recréer une page entièrement ?

    La fiche paramétrée s'affiche bien en dehors de la carte google maps qui est vide...De plus, pas de messages mais le débogueur google me sort une erreur avec un dièse quelque chose inconnu...J'ai alors voulu vérifier l'adresse utilisée pour trouver la localisation en ajoutant le "alert" dans le code.

    Le "alert" me montre que l'adresse est vide....donc les champs liés à Account (dans ma page) sont évalués comme vides alors que bien remplis dans la fiche "standard"...Ne peut-on pas utiliser le controller standard dans ce cas ? Comment faut-il procéder ?

  2. #2
    Membre régulier
    Homme Profil pro
    Salesforce - partenaire et expert
    Inscrit en
    Mai 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Salesforce - partenaire et expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 51
    Points : 90
    Points
    90
    Par défaut
    J'ai l'impression que ton initialize est appelé trop tôt : essaie plutôt de l'appeler dans une section <script> en bas de la page
    Rup
    Expert certifié Salesforce (admin, consultant, dev)
    Je co-dirige ALTIUS Services, partenaire certifié salesforce.com en région Rhône Alpes et Suisse Romande
    Je recrute ! www.altius-services.com/recrutement
    Merci à tous ceux qui nous ont rendu visite au Cloudforce Essentials Lyon le 21/6 pour rencontrer nos clients Rossignol, Olympus Biotech et e-Satisfaction

  3. #3
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut
    Ok merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Intégrer et personnaliser une carte type Google Maps
    Par vertebre dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 23/01/2015, 15h59
  2. [C#][WM 6] Page blanche avec API Google Maps V3
    Par ikeabp dans le forum Windows Mobile
    Réponses: 0
    Dernier message: 08/03/2011, 09h29
  3. Personnalisation d'un repère Google Maps
    Par Domi2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 25/06/2009, 15h57
  4. Affichage avec api google map
    Par S-Kayp dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/10/2008, 13h52
  5. [google maps] probleme avec ie
    Par kowabounga dans le forum Général Python
    Réponses: 1
    Dernier message: 14/09/2006, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo