RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 722682
Accepted
Артём PeGaS
Артём PeGaS
Asked:2020-09-25 03:33:27 +0000 UTC2020-09-25 03:33:27 +0000 UTC 2020-09-25 03:33:27 +0000 UTC

如何抽象脚本?[关闭]

  • 772
关闭。这个问题需要澄清或补充细节。目前不接受回复。

你想改进这个问题吗?通过编辑此帖子添加更多详细信息并澄清问题。

4年前关闭。

改进问题

如何将此脚本放入单独的函数中?并且能够多次调用它

function loadScript() {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "http://maps.googleapis.com/maps/api/js?sensor=true&callback=initializeMap";
  document.body.appendChild(script);
}
if (window.addEventListener) window.addEventListener("load", loadScript, false);
else if (window.attachEvent) window.attachEvent("onload", loadScript);

function initializeMap() {
  var myLatlng = new google.maps.LatLng(56.7342973, 37.1636543);
  var uluru = {
    lat: 56.7332973,
    lng: 37.1759543
  };
  var myOptions = {
    zoom: 15,
    scrollwheel: false,
    center: uluru,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    mapTypeControlOptions: {
      position: google.maps.ControlPosition.BOTTOM_LEFT
    }
  };
  var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  var markerImage = new google.maps.MarkerImage(
    'images/pointMaps.png',
    new google.maps.Size(42, 61)
  );
  var markerImageHover = new google.maps.MarkerImage(
    'images/pointMaps.png',
    new google.maps.Size(42, 61)
  );

  var marker = new google.maps.Marker({
    icon: markerImage,
    position: myLatlng,
    map: map,
    title: "Hello World!"
  });

  var content = document.createElement('div');
  content.innerHTML = "<strong>Hello world</strong> + JS ^_^";
  var infowindow = new google.maps.InfoWindow({
    content: content
  });

  google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map, marker);
  });

  google.maps.event.addListener(marker, 'mouseover', function() {
    marker.setIcon(markerImageHover);
  });

  google.maps.event.addListener(marker, 'mouseout', function() {
    marker.setIcon(markerImage);
  });
}

javascript
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. coffee hoock
    2020-10-08T01:10:33Z2020-10-08T01:10:33Z
        <script type="text/javascript">
    //для того что бы абстрагировать код нужно обернуть его в другую функцыю
    // и вызывать при необходимости на любом событии
        newFunction = function(){
        			function loadScript() {
        				var script = document.createElement("script");
        				script.type = "text/javascript";
        				script.src = "http://maps.googleapis.com/maps/api/js?sensor=true&callback=initializeMap";
        				document.body.appendChild(script);
        			}
        			if (window.addEventListener) window.addEventListener("load", loadScript, false);
        			else if (window.attachEvent) window.attachEvent("onload", loadScript);
        			function initializeMap(){
        				var myLatlng = new google.maps.LatLng(56.7342973, 37.1636543);
        				var uluru = {lat: 56.7332973, lng: 37.1759543};
        				var myOptions = {
        					zoom: 15,
        					scrollwheel: false,
        					center: uluru,
        					mapTypeId: google.maps.MapTypeId.ROADMAP,
        					mapTypeControlOptions: {
        						position: google.maps.ControlPosition.BOTTOM_LEFT
        					}
        				};
        				var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    
        				var markerImage = new google.maps.MarkerImage(
        					'images/pointMaps.png',
        					new google.maps.Size(42,61)
        					);
        				var markerImageHover = new google.maps.MarkerImage(
        					'images/pointMaps.png',
        					new google.maps.Size(42,61)
        					);
    
        				var marker = new google.maps.Marker({
        					icon: markerImage,
        					position: myLatlng, 
        					map: map,
        					title:"Hello World!"
        				});
    
        				var content = document.createElement('div');
        				content.innerHTML = "<strong>Hello world</strong> + JS ^_^";
        				var infowindow = new google.maps.InfoWindow({
        					content: content
        				});
    
        				google.maps.event.addListener(marker, 'click', function() {
        					infowindow.open(map, marker);
        				});
    
        				google.maps.event.addListener(marker, 'mouseover', function() {
        					marker.setIcon(markerImageHover);
        				});
    
        				google.maps.event.addListener(marker, 'mouseout', function() {
        					marker.setIcon(markerImage);
        				});
        			}
    }
        	</script>
    • 1
  2. Best Answer
    coffee hoock
    2020-10-08T20:17:08Z2020-10-08T20:17:08Z

    也许我不完全理解这个问题,但试试这个,只需创建一个新的обет map2 = new google.maps.Map(document.getElementById("map_canvas_2"),myOptions);

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    	<title>Project</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    	<style>
    	#page{
    		width:100%;
    		background:#dec0de;
    	}
    
    	#map_canvas, #map_canvas_2{
    		width:100%;
    		height:500px;
    		margin:0 auto;
    	}
    </style>
    <div id="page">
    	<div class="gMap-holder" id="map_canvas"></div>
    </div>
    
    <div id="page_2">
    	<div class="gMap-holder" id="map_canvas_2"></div>
    </div>
    
    </body>
    
    <script type="text/javascript">
        function loadScript() {
          var script = document.createElement("script");
          script.type = "text/javascript";
          script.src = "http://maps.googleapis.com/maps/api/js?sensor=true&callback=initializeMap";
          document.body.appendChild(script);
        }
        if (window.addEventListener) window.addEventListener("load", loadScript, false);
        else if (window.attachEvent) window.attachEvent("onload", loadScript);
        function initializeMap(){
          var myLatlng = new google.maps.LatLng(56.7342973, 37.1636543);
          var uluru = {lat: 56.7332973, lng: 37.1759543};
          var myOptions = {
            zoom: 15,
            scrollwheel: false,
            center: uluru,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            mapTypeControlOptions: {
              position: google.maps.ControlPosition.BOTTOM_LEFT
            }
          };
          var myOptions2 = {
            zoom: 15,
            scrollwheel: false,
            center: uluru,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            mapTypeControlOptions: {
              position: google.maps.ControlPosition.BOTTOM_LEFT
            }
          };
          var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
          var map2 = new google.maps.Map(document.getElementById("map_canvas_2"), myOptions2);
    
          var markerImage = new google.maps.MarkerImage(
            'images/pointMaps.png',
            new google.maps.Size(42,61)
            );
          var markerImageHover = new google.maps.MarkerImage(
            'images/pointMaps.png',
            new google.maps.Size(42,61)
            );
    
          var marker = new google.maps.Marker({
            icon: markerImage,
            position: myLatlng,
            map: map,
            title:"Hello World!"
          });
    
          var content = document.createElement('div');
          content.innerHTML = "<strong>Hello world</strong> + JS ^_^";
          var infowindow = new google.maps.InfoWindow({
            content: content
          });
    
          google.maps.event.addListener(marker, 'click', function() {
            infowindow.open(map, marker);
          });
    
          google.maps.event.addListener(marker, 'mouseover', function() {
            marker.setIcon(markerImageHover);
          });
    
          google.maps.event.addListener(marker, 'mouseout', function() {
            marker.setIcon(markerImage);
          });
        }
    </script>
    
    </html>

    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5