L'API Google Maps 3 Comment appeler initialiser sans le mettre en Body onload

Je suis à l'aide de l'API google maps et vous avez copié les exemples et se sont retrouvés avec une fonction appelée "initialiser" qui est appelée à partir de la body onload.

Je suis en utilisant les cartes de différentes commandes de l'utilisateur, qui sont placés à l'intérieur du contenu détenteurs de place, de sorte que le corps de la balise est dans la page maître.

Est-il un moyen de l'appel d'initialiser directement dans le contrôle usercontrol plutôt que d'avoir à les placer à un onload sur la masterpage?
Idéalement, je veux que mon contrôle de l'utilisateur afin d'être autonome de contrôle que je peux juste glissent dans les pages sans essayer d'accéder à la page principale body onload.

J'ai essayé d'appeler la fonction d'initialisation de ma page charge du contrôle de l'utilisateur (par l'ajout d'un script de démarrage), mais la carte ne s'affiche pas.

Des suggestions?

Mon code:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">/script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
var map;
var geocoder;
function initialize() {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(51.8052184317649, -4.965819906250006);
    var myOptions = {
        zoom: 8,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    $.ajax({
        type: "POST",
        url: "/GoogleMapsService.asmx/GetPointers",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        beforeSend: function () {
            $(".loadingData").html("<p>Loading data..</p>");
        },
        complete: function () {
            $(".loadingData").html("");
        },
        cache: true,
        success: mapPoints,
        error: onError
    });
}
function onError(xhr, ajaxOptions, thrownError) {
    alert(xhr.status);
    alert(xhr.responseText);
}
function mapPoints(response) {

    if (response.d != null) {
        if (response.d.length > 0) {
            for (var i = 0; i < response.d.length; i++) {

                plotOnMap(response.d[i].Id, response.d[i].Name,
                    response.d[i].Lat, response.d[i].Long,
                    response.d[i].ShortDesc)

            }
        }

    }
}

et sur mon test de la page maître:

<body onload="initialize()">
<form runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<asp:ContentPlaceHolder ID="MainContent" runat="server">
</asp:ContentPlaceHolder>
</form>
</body>
pouvez-vous aider avec ce lien stackoverflow.com/questions/29792518/...

OriginalL'auteur Bex | 2010-12-22