私は、SharePointのサンドボックスsoltuionにSP2007地図を変換しようとしているが、いくつかの理由で、私は私のWebパーツをアップロードするとき、私はこのJavaScriptエラーを取得するプロパティを編集しようと、ビングマップWebパーツ(Javaスクリプトエラー)
ていますプロパティの値が「UpdateWebPartMenuFocus」nullまたは未定義ではなく、Functionオブジェクト
私は誰かが、コアを参照されなかった場合ので、それが来て、このエラーの私の研究をした、とだけいくつかの記事を見つけます.jsをv4.master(デフォルトマスターページ)に入れましたが、私はチェックして、既に以下のように参照しました。
<SharePoint:ScriptLink language="javascript" name="core.js" OnDemand="true" runat="server" />
とここに私のコードで、
StringBuilder mapHTML = new StringBuilder();
mapHTML.Append("<div>");
mapHTML.Append("<script src=\"https://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3\"></script>");
mapHTML.Append("<script type='text/javascript' id='clientEventHandlersJS'>");
mapHTML.Append("var map = null;");
mapHTML.Append("function GetMap()");
mapHTML.Append("{");
mapHTML.Append("try{");
mapHTML.Append(" var latLon = new VELatLong(52.29504228453734,-2.2851562500000044);");
mapHTML.Append("map = new VEMap('myMap');");
mapHTML.Append("map.LoadMap(latLon,5);");
mapHTML.AppendFormat("map.Find(null, '{0}', null, null, null, null, false, false, false, true,LocFound);", HtmlEncode(_Location));
mapHTML.Append("}");
mapHTML.Append("catch(err){}");
mapHTML.Append("}");
mapHTML.Append("function LocFound(thelayer, resultsArray, places, hasMore, veErrorMessage)");
mapHTML.Append("{");
mapHTML.Append("try{");
mapHTML.Append("if(places != null && places.length >0)");
mapHTML.Append("{");
mapHTML.Append("var latlong = places[0].LatLong;");
mapHTML.Append("}");
mapHTML.Append("else");
mapHTML.Append("{");
mapHTML.Append("myMap.style.display = 'none';");
mapHTML.Append("locationError.style.display = 'block';");
mapHTML.Append("}");
mapHTML.Append("var shape = new VEShape(VEShapeType.Pushpin,latlong);");
mapHTML.AppendFormat("shape.SetTitle('{0}');", HtmlEncode(_PushPinTitle));
mapHTML.Append("map.AddShape(shape);");
mapHTML.Append("map.SetZoomLevel(14);");
mapHTML.Append("}");
mapHTML.Append("catch(err){}");
mapHTML.Append("}");
mapHTML.Append(" function addLoadEvent(func) ");
mapHTML.Append(" { ");
mapHTML.Append("try{");
mapHTML.Append(" var oldonload = window.onload; ");
mapHTML.Append(" if(typeof window.onload != 'function') ");
mapHTML.Append(" { ");
mapHTML.Append(" window.onload = func; ");
mapHTML.Append(" } ");
mapHTML.Append(" else ");
mapHTML.Append(" { ");
mapHTML.Append(" window.onload = function()");
mapHTML.Append(" { ");
mapHTML.Append(" func(); ");
mapHTML.Append(" } ");
mapHTML.Append(" } ");
mapHTML.Append("}");
mapHTML.Append("catch(err){}");
mapHTML.Append(" } ");
mapHTML.Append("addLoadEvent(GetMap); ");
mapHTML.Append("</script>");
mapHTML.AppendFormat("<div id=\"myMap\" style=\"position:relative\" width:\"{0}\" height:\"{1}\" ></div>", HtmlEncode(_MapWidth), HtmlEncode(_MapHeight));
mapHTML.AppendFormat("<div id=\"locationError\" style=\"position:relative\">", HtmlEncode(_MapWidth), HtmlEncode(_MapHeight));
//mapHTML.AppendFormat("{0}", HtmlEncode(_LocationError));
mapHTML.Append("</br>");
mapHTML.AppendFormat("{0}", HtmlEncode(_Location));
mapHTML.Append("</div>");
mapHTML.Append("</div>");
Controls.Add(new LiteralControl(mapHTML.ToString()));
//AddControl(new LiteralControl(mapHTML.ToString()));
今、私は誰もが場所とWebパーツのマップを取得する任意のより良い方法を知っている第二にあれば、このエラーを取り除く方法を見つけるカント Google APIを使用するような、私はいくつかのプロジェクトを見た
しかし、それにはAJAXコントロールがないんとして、それは少し古いスタイル、そして少ない機能を探します。
(注:私はシルバーライトを使用することはできません、クライアントの数がたくさんあると銀の光やその他の制限のためのプラグインをインストールするためにそれらを強制したいいけないと)私はこのコードを追加するとき