[Gelöst] Bing Maps als IFRAME in Firma oder Kontakt

Bild Microsoft Dynamics CRM 4.xx

[Gelöst] Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon usagi-chan » 13. März 2010 14:03

Hallo zusammen! Ich habe in der Entität Kontakte und Firma jeweils eine neue Registerkarte mit Abschnitt und IFRAME angelegt, in dem die Adresse des Kontaktes und besser noch die Route von unserer Organisation zum Kontakt / zur Firma angezeigt werden soll (auf der CeBIT gesehen). Dabei habe ich das Problem, dass wenn ich einen Kontakt oder eine Firma öffne, scheinbar das Laden der Karte im IFRAME nicht so recht klappen will. Die Adresse wird zwar angezeigt, aber da wo die Karte kommen müsste, steht nur da: Einen Augenblick.... Wenn man aber sofort nach dem Öffnen des Kontaktes in die Registerkarte mit der Karte klickt, funktioniert es.

Weiß jemand einen Rat? Und eventuell auch, wie das mit der Route gehen könnte? Ich habe mich schon ausführlich mit der Bing Maps Hilfe beschäftigt, aber noch keine Lösung gefunden. Ich habe den Code aus einem anderen Blog verwendet:

Code: Alles auswählen
// Load Map URL
{
  var AccountStreet = crmForm.all.address1_line1.DataValue;
  var AccountCity = crmForm.all.address1_city.DataValue;
  var AccountZip = crmForm.all.address1_postalcode.DataValue;

  var MapURL = "http://www.bing.com/maps/default.aspx?v=2&where1=" + AccountStreet + "%2C%20" + AccountZip + "%20" + AccountCity + "";

  if (MapURL != null){
    crmForm.all.IFRAME_map.src = MapURL;
  }
}

Vielen Dank fĂĽr Eure Antworten im Voraus!

GruĂź,
usagi
Zuletzt geändert von usagi-chan am 17. März 2010 17:25, insgesamt 1-mal geändert.
usagi-chan
 

Re: Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon Michael Sulz » 13. März 2010 18:56

Hallo,

sieh dir einmal diesen Beitrag an, der sollte dir weiterhelfen:
http://blog.protechnology.de/index.php/2010/03/bing-maps-in-dynamics-crm-einbinden
GruĂź, Michael Sulz
Mein Blog
Xing LinkedIn Facebook Twitter

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.

Wie man Fragen richtig stellt
Benutzeravatar
Michael Sulz
Microsoft Partner
Microsoft Partner
 
Beiträge: 4939
Registriert: 9. September 2009 17:41
Wohnort: MĂĽnster
Realer Name: Michael Sulz
Arbeitsort: MĂĽnster
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics CRM

Re: Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon usagi-chan » 13. März 2010 19:13

Vielen Dank fĂĽr die Antwort. Den Blog habe ich mir auch schon angesehen. Der Code stimmt ja mit meinem im Prinzip ĂĽberein. Trotzdem geht es nicht richtig (siehe oben)
usagi-chan
 

Re: Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon Michael Sulz » 14. März 2010 10:58

Hallo,

ich habe das jetzt einmal ausprobiert und es stimmt, die Karte wird nicht immer angezeigt. Woran das liegt, kann ich dir allerdings auch nicht sagen, da mĂĽsste ich erst einmal ein bisschen forschen, und dazu habe ich im Moment leider keine Zeit.
GruĂź, Michael Sulz
Mein Blog
Xing LinkedIn Facebook Twitter

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.

Wie man Fragen richtig stellt
Benutzeravatar
Michael Sulz
Microsoft Partner
Microsoft Partner
 
Beiträge: 4939
Registriert: 9. September 2009 17:41
Wohnort: MĂĽnster
Realer Name: Michael Sulz
Arbeitsort: MĂĽnster
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics CRM

Re: Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon FloKo » 15. März 2010 11:47

Hallo,

ich hatte vor kurzem ein ähnliches Problem... ich habe es dann dadurch gelöst, dass ich von Bing Maps auf Google Maps umgestiegen bin.

Der Code sieht bei mir so aus:

Code: Alles auswählen
var AccountStreet = "";
if(  crmForm.all.address1_line1.DataValue != null){
AccountStreet = crmForm.all.address1_line1.DataValue.replace(" ", "%20");
}
var AccountCity = crmForm.all.address1_city.DataValue;
var AccountZip = crmForm.all.address1_postalcode.DataValue;

var MapURL = "http://maps.google.de/maps?f=d&source=embed&saddr=<Strasse>+<Hausnummer>,+<Postleitzahl>+<Ort>&daddr=" + AccountStreet + "+" + AccountZip + "+" + AccountCity  + "&view=map&hl=de";

if (MapURL != null)
   {
      crmForm.all.IFRAME_map.src = MapURL;
   }


Du musst noch <Strasse>+<Hausnummer>,+<Postleitzahl>+<Ort> durch deine entsprechenden Adressdaten (also deiner Firma) ersetzen. Bei Bing Maps habe ich die Routenplanung leider ĂĽberhaupt nicht hinbekommen. Da die Kollegen aus verschiedenen GrĂĽnden Google Maps bevorzugen, war es fĂĽr uns die erste Wahl. Vielleicht ist es ja auch fĂĽr dich eine Alternative.

EDIT:
Kleine Anmerkung: Das Ersetzen der Whitespaces ist für Google Maps nicht nötig. Das benötige ich nur, da ich die aufbereitete Adresse auch gleich nutze, um ein IFrame für die Fahrtplanung mit der Bahn einzubinden.

EDIT2: Habe nochmal nachgeschaut.
Eine Anleitung fĂĽr Bing Maps URLs gibt es unter http://help.live.com/help.aspx?project= ... ildurl.htm

Die Adresse mĂĽsste so aussehen:
Code: Alles auswählen
var MapURL =" http://www.bing.com/maps/default.aspx?v=2&mkt=de-de&rtp=adr.<StraĂźe> <Hausnummer>, <Postleitzahl> <Ort>~adr." + AccountStreet + ", " + AccountZip + " " + AccountCity;

Einziges Problem sind Umlaute... unter Firefox werden diese komplett falsch interpretiert (liegt wahrscheinlich an meiner Codepage), im IE funktioniert die Interpretation, allerdings werden Adressen mit Umlauten nicht gefunden, du musst also zuerst alle Umlaute ersetzen.
Leider hatte ich aber auch hier die Ladeprobleme mit Bing, bei Google ist sowas noch nicht aufgetreten. (Hatte erst gedacht es liegt am Haken "FrameĂĽbergreifendes Scripting verhinden").

Viele GrĂĽĂźe,
Florian
FloKo
 
Beiträge: 71
Registriert: 1. Februar 2010 13:28
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: CRM 4.0

Re: Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon usagi-chan » 15. März 2010 17:52

Danke fĂĽr das Beispiel mit Google Maps. Das habe ich auch schon probiert, nur um zu schauen, ob es dort richtig funktioniert. Bei uns wird leider die Umsetzung mit Bing Maps gefordert ;(

GruĂź,
usagi
usagi-chan
 

Re: Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon FloKo » 16. März 2010 18:36

Ich habe etwas rumprobiert... allerdings werde ich nicht so richtig schlau. Nutze ich die erzeugte URL direkt als Adresse in der IFrame-Konfiguration funktioniert alles problemlos. Sobald sie aber per JScript gesetzt wird treten die von dir beschriebenen Probleme auf. Wenn du in der defekten Ansicht im oberen Teil auf den Link klickst, der nur halbwegs zu sehen ist, dann funktioniert die Ansicht im IFrame auch. Ich habe keine Ahnung woran das liegt...

Wenn jemand eine Lösung hat, wäre es doch interessant woher das kommt.

GruĂź Florian
FloKo
 
Beiträge: 71
Registriert: 1. Februar 2010 13:28
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: CRM 4.0

Re: Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon Michael Sulz » 16. März 2010 18:52

Hallo Florian,

ich vermute, das es sich schlicht und ergreifend um ein Timing-Problem handelt. Ă„ndere doch deinen Code einmal so um, das das IFrame nicht beim laden des Formulares, sondern beim klick auf den Tab geladen wird, dann sollte es funktionieren.
GruĂź, Michael Sulz
Mein Blog
Xing LinkedIn Facebook Twitter

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.

Wie man Fragen richtig stellt
Benutzeravatar
Michael Sulz
Microsoft Partner
Microsoft Partner
 
Beiträge: 4939
Registriert: 9. September 2009 17:41
Wohnort: MĂĽnster
Realer Name: Michael Sulz
Arbeitsort: MĂĽnster
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics CRM

Re: Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon usagi-chan » 16. März 2010 23:29

Ich habe den Tipp mal versucht umzusetzen.

Code: Alles auswählen
crmForm.all.tab4Tab.onclick = function() {
  var AccountStreet = crmForm.all.address1_line1.DataValue;
  var AccountCity = crmForm.all.address1_city.DataValue;
  var AccountZip = crmForm.all.address1_postalcode.DataValue;

  var MapURL = "http://www.bing.com/maps/default.aspx?v=2&where1=" + AccountStreet + "%2C%20" + AccountZip + "%20" + AccountCity + "";

  if (MapURL != null){
    crmForm.all.IFRAME_map.src = MapURL;
  }
}

Kann man das mit dem Code so machen? Kenne mich leider mit JScript nicht so aus.

Danke & GruĂź,
usagi
Zuletzt geändert von usagi-chan am 17. März 2010 17:24, insgesamt 1-mal geändert.
usagi-chan
 

Re: Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon FloKo » 17. März 2010 16:48

Hallo Usagi,

ich habe es jetzt mal ausprobiert um umgesetzt und es funktioniert, ab und zu gabs beim laden ein kleines Delay, aber das sollte nichts ausmachen.

Hier ist der Code, die Nummer nach tab gibt an, bei Klick auf welchen Tab das Skript ausgefĂĽhrt werden soll. Allerdings ist es eine id die bei 0 startet. D.h. wenn deine Map der 1. Tab ist muss dastehen
Code: Alles auswählen
document.all.tab0Tab.onclick {...}
, beim 2. Tab dann entsprechend
Code: Alles auswählen
document.all.tab1Tab.onclick {...}

Code: Alles auswählen
crmForm.all.tab4Tab.onclick = function(){ 
  var AccountStreet = crmForm.all.address1_line1.DataValue;
  var AccountCity = crmForm.all.address1_city.DataValue;
  var AccountZip = crmForm.all.address1_postalcode.DataValue;

  //Nur Anzeige auf Bing Maps
  //var MapURL = 'http://www.bing.com/maps/default.aspx?v=2&where1=' + AccountStreet + ', ' + AccountZip + ' ' + AccountCity;
  //Routplanung mit Bing Maps, <StraĂźe> <Hausnummer> <PLZ> <Ort> entsprechend ersetzen.
  var MapURL ='http://www.bing.com/maps/default.aspx?v=2&mkt=de-de&rtp=adr.<StraĂźe> <Hausnummer>, <PLZ> <Ort>~adr.' + AccountStreet + ', ' + AccountZip + ' ' + AccountCity;
 
  if (MapURL != null){
    //Hier muss noch der IFramename ergänzt werden (in deinem Fall "IFRAME_map").
    crmForm.all.<Name des IFrames>.src = encodeURI(MapURL);
  }
};


Ich hoffe das klappt, bei mir geht's problemlos. Das Encode URI löst auch das Umlautproblem.

EDIT: Ganz nebenbei, danke euch Beiden, wieder einiges gelernt im Rahmen der Lösungssuche. Bspw. das Javascript zur Entwicklung in eine eigene Datei auslagern und sich so die ständige Veröffentlichung sparen, vom onLoad die anderen Events ansteuern (auch die, die man nicht offensichtlich im CRM pflegen kann) und zu guter Letzt die richtige Codierung für URLs verwenden.

Viele GrĂĽĂźe,
Florian
FloKo
 
Beiträge: 71
Registriert: 1. Februar 2010 13:28
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: CRM 4.0

Re: Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon usagi-chan » 17. März 2010 17:25

Ich danke euch auch!

Viele GrĂĽĂźe,
usagi
usagi-chan
 

Re: [Gelöst] Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon merlin666 » 20. Januar 2011 17:13

@FloKo: Mich wĂĽrde interessieren wie du das mit der Bahnauskunft ins CRM integriert hast.
Wäre schön wenn du es hier posten könntest.

Danke & GruĂź
merlin666
merlin666
 
Beiträge: 4
Registriert: 31. August 2009 15:50
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 4.0

Re: [Gelöst] Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon FloKo » 21. Januar 2011 19:57

Hi ich habe es so gelöst:
Der Reiter ist der 5. Reiter in der Firmenansicht (sonst einfach in der ersten Zeile das tab5Tab in tab%Reiternummer%Tab ändern, der IFrame heißt IFRAME_Bahn, cross-scripting ist im IFRAME erlaubt. Dann einfach noch %%%%%Abfahrtsort%%%%% und %%%%%Straße und Hausnummer%%%%% durch deine Daten ersetzen. Das Javascript wird ins OnLoad des Formulars eingebunden.

Code: Alles auswählen
crmForm.all.tab5Tab.onclick = function(){
    var AccountStreet = crmForm.all.address1_line1.DataValue;
    var AccountCity = crmForm.all.address1_city.DataValue;
    var AccountZip = crmForm.all.address1_postalcode.DataValue;

    var BahnURL = 'http://reiseauskunft.bahn.de/bin/query.exe/dn?ld=212.24&searchMode=ADVANCED&REQ0JourneyStopsSA=2&REQ0JourneyStopsSG=%%%%%Abfahrtsort%%%%%,%%%%%StraĂźe und Hausnummer%%%%%';

    if(AccountStreet != '' || AccountCity != '' || AccountZip != '' )
       {
          BahnURL = BahnURL + '&REQ0JourneyStopsZA=2&REQ0JourneyStopsZG=';
       if (AccountZip != '')
       {
           BahnURL = BahnURL + AccountZip + ' ';
       }   
       if (AccountCity != '')
       {
          BahnURL = BahnURL + AccountCity;
       }
       if (AccountStreet != '')
       {
          BahnURL = BahnURL + ', ' + AccountStreet;
       }
    }
    crmForm.all.IFRAME_Bahn.src = encodeURI(BahnURL);
}


Fals noch was ist melde dich einfach :)

Viele GrĂĽĂźe,
Florian
FloKo
 
Beiträge: 71
Registriert: 1. Februar 2010 13:28
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: CRM 4.0

Re: [Gelöst] Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon merlin666 » 26. Januar 2011 12:17

Hallo FloKo,
vielen Dank fĂĽr deine Antwort.

Ich habe versucht Bing Maps und die Bahnauskunft wie folgt ins OnLoad einzubinden:
Code: Alles auswählen
crmForm.all.tab4Tab.onclick = function()
{
 var AccountStreet = crmForm.all.address1_line3.DataValue;
 var AccountCity = crmForm.all.address1_city.DataValue;
 var AccountZip = crmForm.all.address1_postalcode.DataValue;
 
//Routplanung mit Bing Maps, <StraĂźe> <Hausnummer> <PLZ> <Ort> entsprechend ersetzen
var MapURL ='http://www.bing.com/maps/default.aspx?v=2&mkt=de-de&rtp=adr. StraĂźe Nr, PLZ Ort~adr.' + AccountStreet + ', ' + AccountZip + ' ' + AccountCity;
 
  if (MapURL != null){
    //Hier muss noch der IFramename ergänzt werden (in deinem Fall "IFRAME_map")
    crmForm.all.IFRAME_map.src = encodeURI(MapURL);
  }
};



crmForm.all.tab5Tab.onclick = function(){
    var AccountStreet = crmForm.all.address1_line1.DataValue;
    var AccountCity = crmForm.all.address1_city.DataValue;
    var AccountZip = crmForm.all.address1_postalcode.DataValue;

    var BahnURL = 'http://reiseauskunft.bahn.de/bin/query.exe/dn?ld=212.24&searchMode=ADVANCED&REQ0JourneyStopsSA=1&REQ0JourneyStopsSG=Ort Hbf';

    if(AccountStreet != '' || AccountCity != '' || AccountZip != '' )
       {
          BahnURL = BahnURL + '&REQ0JourneyStopsZA=2&REQ0JourneyStopsZG=';
       if (AccountZip != '')
       {
           BahnURL = BahnURL + AccountZip + ' ';
       }   
       if (AccountCity != '')
       {
          BahnURL = BahnURL + AccountCity;
       }
       if (AccountStreet != '')
       {
          BahnURL = BahnURL + ', ' + AccountStreet;
       }
    }
    crmForm.all.IFRAME_Bahn.src = encodeURI(BahnURL);
}

Bing Maps funktioniert, aber bei der Bahnauskunft bleibt das Fenster leer.
Kann man das so verknüpfen oder mache ich grundsätzlich was falsch? Bin leider nicht der Experte.
merlin666
 
Beiträge: 4
Registriert: 31. August 2009 15:50
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 4.0

Re: [Gelöst] Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon FloKo » 26. Januar 2011 21:06

Hi,

heißt dein iFrame auf dem Reiter für die Bahn auch IFRAME_Bahn (also steht im Namensfeld nur Bahn, weil IFRAME_ ist ja automatisch da)? Und hast du das Cross-Site Scripting erlaubt? Ist der Bahn Reiter, der nächste nach dem Mapsreiter?

Die URL ist dafür ausgelegt, dass auch bei der Bahnsuche der Abfahrtsort als Adresse angegeben wird. Für den Bahnhof wäre es:

var BahnURL = 'http://reiseauskunft.bahn.de/bin/query.exe/dn?searchMode=ADVANCED&REQ0JourneyStopsSA=1&S=Ort Hbf';

Das ld=xxx.xx ist auch ĂĽberflĂĽssig wie ich grade sehe.

Viele GrĂĽĂźe,
Florian
FloKo
 
Beiträge: 71
Registriert: 1. Februar 2010 13:28
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: CRM 4.0

Re: [Gelöst] Bing Maps als IFRAME in Firma oder Kontakt

Beitragvon merlin666 » 27. Januar 2011 09:19

Hi FloKo,
jetzt geht`s, habe leider GroĂź- und Kleinschreibung verwechselt. (IFRAME_Bahn hieĂź bei mir IFRAME_bahn)
Danke, merlin666
merlin666
 
Beiträge: 4
Registriert: 31. August 2009 15:50
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 4.0


ZurĂĽck zu CRM 4.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast