开发者

Combine two javascript functions to run one after the other?

开发者 https://www.devze.com 2023-02-08 00:04 出处:网络
How do I edit the following code to combine the functions initialize and codeAddress into one? {literal}

How do I edit the following code to combine the functions initialize and codeAddress into one?

{literal}
             var geocoder;
             var map;
             function initialize() {
               geocoder = new google.maps.Geocoder();
               var latlng = new google.maps.LatLng(-34.397, 150.644);
               var myOptions = {
                 zoom: 8,
                 center: latlng,
                 mapTypeId: google.maps.MapTypeId.ROADMAP
               }
               map = new google.maps.Map(do开发者_Python百科cument.getElementById("map_canvas"), myOptions);
             }

             function codeAddress() {
               var address = "{/literal}{$listing.City}, {$listing.State}{literal}";
               geocoder.geocode( { 'address': address}, function(results, status) {
                 if (status == google.maps.GeocoderStatus.OK) {
                   map.setCenter(results[0].geometry.location);
                   var marker = new google.maps.Marker({
                       map: map, 
                       position: results[0].geometry.location
                   });
                 } else {
                   alert("Geocode was not successful for the following reason: " + status);
                 }
               });
             }

        {/literal}
        </script>

Thanks in advance


Do you mean this?

         var geocoder;
         var map;
         function myNewFunction() {
           geocoder = new google.maps.Geocoder();
           var latlng = new google.maps.LatLng(-34.397, 150.644);
           var myOptions = {
             zoom: 8,
             center: latlng,
             mapTypeId: google.maps.MapTypeId.ROADMAP
           }
           map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
           var address = "{/literal}{$listing.City}, {$listing.State}{literal}";
           geocoder.geocode( { 'address': address}, function(results, status) {
             if (status == google.maps.GeocoderStatus.OK) {
               map.setCenter(results[0].geometry.location);
               var marker = new google.maps.Marker({
                   map: map, 
                   position: results[0].geometry.location
               });
             } else {
               alert("Geocode was not successful for the following reason: " + status);
             }
           });
         }


I think you just need to call the codeAddress() function within the initialize() function:

         function initialize() {
           geocoder = new google.maps.Geocoder();
           var latlng = new google.maps.LatLng(-34.397, 150.644);
           var myOptions = {
             zoom: 8,
             center: latlng,
             mapTypeId: google.maps.MapTypeId.ROADMAP
           }
           map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
           codeAddress();


Did you try:

var both = function() {
    initialize();
    codeAddress();
};
0

精彩评论

暂无评论...
验证码 换一张
取 消