google map ROADMAP, SATELLITE, HYBRID, TERRAIN

丹下健三でもみてみましょう。
まず、デフォルトのROADMAP

function initMap(){
      var position = {lat: <?php echo $lat_a; ?>, lng: <?php echo $lng_a; ?>};
  		map = new google.maps.Map(document.getElementById('map'),{
  			center: position,
  			zoom: 14,
        // mapTypeId: 'terrain'
  		});

続いて、satellite
大文字だと表示されません。

次は、hybrid

最後に、terrain

結論は、生で見よう。

document.createElement(‘script’);

bodyにscriptを追加。

var script = document.createElement('script');
script.src = 'http://example.com/hoge.js';
document.body.appendChild(script);

window.はdomを収める

mapTypeId: ‘terrain’ 地形情報を使った地図
ROADMAP 道路や建物
SATELITE 衛星写真
HyBRID ROADMAPとSATELITE
TERRAIN 地形情報

デフォルトはROADMAP

<!DOCTYPE html>
<html>
  <head>
    <title>Simple Map</title>
    <meta name="viewport" content="initial-scale=1.0">
    <meta charset="utf-8">
    <style>
      #map {
        height: 50%;
        margin-top: 10px;
      }
      html, body {
        height: 100%;
        margin: 10px;
        padding: 0;
      }
    </style>
  </head>
  <body>
  	<div id="map"></div>
  	<script>
  	var map;
  	function initMap(){
  		map = new google.maps.Map(document.getElementById('map'),{
        zoom: 2,
  			center: new google.maps.LatLng(2.8, -187.3),
        mapTypeId: 'terrain'
  		});

      var script = document.createElement('script');
      script.src = 'https://developers.google.com/maps/documentation/javascript/examples/json/earthquake_GeoJSONP.js';
        document.getElementsByTagName('head')[0].appendChild(script);
      }

      window.eqfeed_callback = function(results) {
        for (var i = 0; i < results.features.length; i++) {
          var coords = results.features&#91;i&#93;.geometry.coordinates;
          var latLng = new google.maps.LatLng(coords&#91;1&#93;,coords&#91;0&#93;);
          var marker = new google.maps.Marker({
            position: latLng,
            map: map
          });
        }
      }
    </script>
  	<script async defer
src = "https:maps.googleapis.com/maps/api/js?key=notwatchk&callback=initMap">
</script>
</body>
</html>

Javascriptの多次元配列

簡単ですね。

<script type="text/javascript">
var array =  { name: 'ジャパンリアルエステイト投資法人'};
console.log( array.name );

var reit =  { name: 'ジャパンリアルエステイト投資法人',
				price: '552,000',
				rate: 3.28
				};
console.log(reit.price)

var reit =  { name: 'ジャパンリアルエステイト投資法人',
				price: {
					investment: 578000,
					NAV: 501776
				}
			};
console.log(reit.price.NAV)
</script>

localstorageのkeyを調べ、一致したらvalueを表示

正規表現で、keyの先頭に”38″がついていた場合には、pタグでlocalstorageのvalueを表示しています。

window.onload = function(){

var list = document.getElementById(“list”)
for (var i =0; i < localStorage.length; i++){ var p = document.createElement("p"); list.appendChild(p); var str = localStorage.key(i); if ( str.match(/^38/)){ p.innerHTML = localStorage.getItem(str); } } } [/php]

pタグの中身をlocalstorageに保存するには

getElementById に、innerHTMLを付ければOKですね。

var key = document.getElementById("myid").innerHTML;
		var value = document.getElementById("myid2").innerHTML;
		if (key && value){
			storage.setItem(key, value);
		}
		key = "";
		value = "";
<?php
  $code = array('3808','8893');
  $name = array('オウケイウェイヴ','新日本建物');
?>


<h4>お気に入り銘柄</h4>
<p id = "code"><?php echo $code&#91;0&#93;; ?></p>
<p id = "name"><?php echo $name&#91;0&#93;; ?></p>

コンテンツの表示非表示 – javascript

bodyでonloadしてdisplay = “none”とすると、処理に時間がかかった場合、onloadが終わるまで表示されるので、bodyのonloadよりも綺麗に見えますね。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表示</title>
</head>

<body>
<a href="#" onclick="btn1_click()">今日の運勢を見る</a><br>

<p id="p1">大吉</p>

<script>
document.getElementById("p1").style.display = "none";

function btn1_click(){
	var y1 = document.getElementById("p1");

	if(y1.style.display=="block"){
		y1.style.display ="none";
	}else{
		y1.style.display ="block";
	}
}
</script>
</body>
</html>

topへ戻る:Javascript

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
  }
  #page-top a {
    background: #EEEEEE;
    color: #fff;
    width: 80px;
    padding: 25px;
    text-align: center;
    display: block;
    border-radius: 5px;
  }
  #page-top a:hover {
    backgorund: rgba(144, 144,144, 0.8);
  }
$(function(){
	var topBtn = $('#page-top');
	topBtn.hide();
	$(window).scroll(function(){
		if($(this).scrollTop() > 450){
			topBtn.fadeIn();
		} else {
			topBtn.fadeOut();
		}
	});
	topBtn.click(function(){
		$('body,html').animate({
			scrollTop: 0
		}, 500);
		return false;
	});
});

csvデータからPHP・chart.jsで、日経平均株価のチャートを作ってみた

簡単すぎるぞ~

<?php

$data = file('nikkei225.csv', FILE_IGNORE_NEW_LINES);

unset($data&#91;0&#93;,$data&#91;-1&#93;);

function cut($item){
	return explode(',', $item);
}

$data = array_map("cut", $data);

foreach ($data as $value){
	$days&#91;&#93; = $value&#91;0&#93;;
	$high&#91;&#93; = $value&#91;3&#93;;
	$low&#91;&#93; = $value&#91;4&#93;;
}
/*
$php_day = json_encode($days);
$php_json = json_encode($low);*/
?>
<html>
<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.4/Chart.min.js"></script>
</head>

<body>
	<p><?php echo $php_json; ?></p>
  <canvas id="stage"></canvas>
</body>
<script type="text/javascript">
var array = <?php echo json_encode($days, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT); ?>;
console.log(array);
var array2 = <?php echo json_encode($high, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT); ?>;
console.log(array2);
var ctx = document.getElementById("stage");
var myLineChart = new Chart(ctx, {
  //グラフの種類
  type: 'line',
  //データの設定
  
  data: {
      //データ項目のラベル
      labels: array,
      //データセット
      datasets: [{
          //凡例
          label: "日経平均株価",
          //背景色
          backgroundColor: "rgba(75,192,192,0.4)",
          //枠線の色
          borderColor: "rgba(75,192,192,1)",
          //グラフのデータ
          data: array2
      }]
  },
  //オプションの設定
  options: {
      scales: {
          //縦軸の設定
          yAxes: [{
              ticks: {
                  //最小値を0にする
                  beginAtZero: true
              }
          }]
      }
  }
});
</script>
</html>