入力された施設名や住所から経度緯度を取得し、グーグルマップにマーカーを立てる

-
カテゴリー:
javascript 

先日、電車の座席に座っていた時、乗ってきたおばあさんに席を譲ろうとしたところ、かたくなに拒否され恥をかいたという話はどうでもいいんですが、久々の更新になります。

今回は、グーグルマップのAPIを使い施設名や住所から経度緯度を取得し、グーグルマップにマーカーを立てる手法をご紹介いたします。

 

まず、グーグルマップのAPIを読み込みます。
本来はAPIキーを指定しないといけないんですが、指定しなくても一応は動きます。

次にHTMLの記述です。

ID:search_formで囲っているのが、施設名や住所を入力するためのテキストフィールドと検索をする際に押す検索ボタンです。
ID:mapはグーグルマップを表示するためのボックスです。

最後にjavascriptの記述です。

window.onloadでページのロードが完了した際に、地図の初期化を実行しています。

「map = new google.maps.Map~略~」でID:mapに地図を表示します。
「gc.geocode({ address : address_str }, function(results, status) {~略~」では、変数「address_str」に代入されている文字を元に経度緯度情報を取得しています。
「map.setCenter(results[0].geometry.location);」では、取得した経度緯度情報が地図の中心になるように移動させています。
「marker = new google.maps.Marker({~略~」で地図にマーカーをセットしています。マーカーの座標は、地図の中心座標(取得した経度緯度情報)です。

geo_search_map()は、検索ボタンが押された際に実行される関数ですが、処理の内容はテキストフィールドから文字を取得する以外は、上記で説明したものと同じ内容になっています。

 

サンプルはこちら

jqueryを使ってフォームに入力された文字数をチェックする

-
カテゴリー:
javascript 

以前、仕事で簡易的に作ったのですが、テキストフィールドとかに入力された文字数のチェックをして、何文字入力されたかを表示し、制限以上の文字数が入力されれば、なんらかの警告を出すといった処理の作り方をご紹介いたします。
※html側でjqueryを読み込んでいるのが前提です。

まず、HTMLを以下のように記述します。

 

inputタグ、もしくはtextaraタグにクラス「count_check」を設定し、その下にクラス「note」を設定したタグ(divなどでOK)を用意し、その中にクラス「count」、クラス「limit」を設定したタグを用意します。
クラス「count」内に現在何文字入力されているかを表示するので、初期値として0(半角数字)を入力します。
クラス「limit」内の数字(半角数字)は何文字まで入力できるのかをチェックするための数字を入力します。

上記のサンプルコードでは50文字以内の文字入力が許容範囲になります。

次に、javascriptです。

 

クラス「count_check」が設定されたタグで文字が入力されたら処理が実行されます。
変数「input_count」に入力された文字数が代入されます。
変数「limit」に文字が入力されたフォームは何文字までを許可しているのかをチェックする為の数字が代入されます。(このサンプルでは50)

次にHTML側のクラス「count」が設定されたタグの中に変数「input_count」の内容を代入します。

最後にif文で入力された文字数がlimitを超えている場合とそうでない場合の処理を書きます。
今回は、文字制限を超過した場合にクラス「count」内の数字を赤い太文字に変更しています。

文字制限を超過した際の処理は、工夫次第で色々できるとは思いますが、今回は控えめにcssの変更のみで処理を書きました。

この処理は変数「count_check」が設定されていればいくつでも設定できますので、まぁまぁ実用的かなぁーなんつって(・x・;

サンプルはコチラ

 

jqueryを使ったタブメニューの作り方【簡易版】

-
カテゴリー:
javascript 

中々尋常じゃない暑さと忙しさが続いており、ブログ書けていなかったんですが、小さなネタでもいいから書こうかなと思います。(汗

コンテンツがいくつかのカテゴリー分けがされており、1ページに収めるには縦に長くなりすぎるなぁって時によく使うタブメニューの作り方なんかを紹介したいと思います。

まずは、HTMLのサンプルコードです。

上記のコードでは、#tab_contentで対象となるコンテンツ全体を囲み、#tab_head内がタブの切り替えを行うメニュー、各.boxがタブメニューで表示、非表示が切り替わるコンテンツとなっております。

次にCSSです。

#tab_head li a.activeは、現在表示されているコンテンツと対になっているメニューのオンオフをわかりやすくするための記述です。
はじめに記載したHTMLでは1番目のアンカーに.activeを適用しています。

#tab_content .boxは、display:none;で全て非表示の状態にし、1番目のコンテンツにあたる.box#tab01をdisplay:block;で表示させています。

上記2つの記述方法はjavascript側で行う事も可能なのですが、今回は、簡易版ということで、cssとhtml側で簡易的に対応しました。

最後にjavascriptの記述です。

#tab_head li内のアンカーがクリックされるとそのクリックされたアンカーに.activeを適用し、hrefの中身を読み取り、該当のコンテンツを表示させています。
hrefには表示させたいコンテンツのIDを記述しています。

サンプルはコチラ