Google Maps JavaScript APIとか

2015/10/14 18:39:37
数日前までIE6で『ねこのニジマス』の地図表示できてたのに、

表示できなくなってるぅぅぅううううう^q^


Noranekoさんです。



本家のマップが改悪されて、検索結果の左ペインがうざくなったり、

POIをクリックした時に地図の中央に来なくなったので、URLから緯度経度が取れなくなったり

ほんと余計なことするなよ…

無駄な情報を出したいなら、最初の時みたいに左ペイン固定にしとけよ…



と言うわけで、Google Maps JavaScript APIを使用したカスタマイズをちょっとだけ説明します。

今回、地図をオレ色にしたいと思って、SNAZZY MAPSからAvocado Worldを拝借して、

更に自分好みにカスタマイズしました。

ソースを見てもらうと
var option = {
 zoom: 8,
 center: new google.maps.LatLng(36.343103, 138.863238),
 mapTypeId: google.maps.MapTypeId.ROADMAP,
 styles:[{"featureType":"landscape", bla bla bal... }]
};

という地図の初期化のstylesの部分がデザインになります。

Avocado Worldでは、
{"color":"#abce83"}

という風に色指定をしています。

これにすると、山や海などが一色でベタ塗されてしまいます。

なので、ここを
{hue:"#abce83"},
{saturation:20},
{lightness:-20}

として、指定した色に近くなるように調整しました。

Photoshopを使って、HSBを合わせて見たりしたんですが、上手くいかなかったので、

数値をいじりながら指定した色に近づけたのが上記の値です。

あと、日本の高速道路と国道(?)が同一で塗られてしまっている問題があったので、
{"featureType":"road.highway","elementType":"geometry.stroke"}{"featureType":"road.highway","elementType":"geometry.fill"}{"featureType":"road.highway.controlled_access","elementType":"geometry.fill"}

これを指定するといい感じで道路の色分けが出来ます。

この道路種別がよくわからなくて、県道とかも途中から塗られてなかったり仕様が謎です。

また、配列を扱う際は、
var hogeArray = new google.maps.MVCArray();

を使うことにより、
hogeArray.forEach(function(hoge, idx) {
 alert(hoge);
});

とforEachを使って要素を簡単に出すことが可能です。

ですが、自分みたいにマーカに対して一対の情報ウィンドウがある場合、

どちらか片方だけ配列に入れておけば事は足ります。

情報ウィンドウが地図の子供としてあるのですが、


『1つのマーカに対して1つの情報ウィンドウを持つ』


と言った使い方をしている人の方が、多いのではないのでしょうか?








???『なんかそういうデータあるんですか?』



???『あなたの感想ですよね?』






ええ、私の勝手な感想です^ω^

つまり何が言いたいかと言うと、


『1つのマーカに対して、1つの情報ウィンドウを持つマーカオブジェクトを作れ』


ということです。

お前が作れって話ですね。

めんどくさいです。

配列2個持ちます。

1つのマーカーに対して、1つの情報ウィンドウを持つマーカオブジェクトを

実装させた方は、是非ご一報下さい!




気に入ったら押してね





~こんなアプリ出してます~

authored by Noraneko | Comment(0) | Web

ねこのニジマス

2015/10/06 21:12:04
朝晩冷え込むようになってきました!

Noranekoです。


というわけで、自分の趣味でもある釣りのポータルサイトを構築してみました。


ねこのニジマス


です。


幾つかは自分も行ったことがあるエリアなので、簡単なレビューも入れて行こうと思っております。

なんかGoogle Maps APIも若干変わってたり、ジオコーディングが使えたりと

使い方のわかる人にとっては、いろんなことができるようになってますね。

自分の使っているやつは無料なので、25,000リクエスト数/日となってます。

つまり25,001番目にトップを開くと地図が表示されないってことですね!

ということで、ニジマス釣りをやる方や興味がある方は、見てみて下さいませ~☆




気に入ったら押してね





~こんなアプリ出してます~

authored by Noraneko | Comment(0) | Web

アクセスログ

2015/03/05 14:42:09
もう3月やんんんん!!!!



消費税増税に備えて、ねこに小判のアップデートとかそろそろ着手しなきゃ。


てことで、今までThe Webalizerを重宝してましたが、デイリー情報が欲しくなったので自作してみました。

基本的に、アクセスログを集計する際には
/var/log/httpd/access_log-yyyymmdd

のファイルを使いますが、phpとかで集計しようとするとアクセス権がござらん!

なので最初に
chown -R apache:apache httpd

として、アクセスできるようにしましょう。


これで90%完成です。



あとは分解して、DBに入れておしゃれにするだけです。

簡単ですね^^






で、出来上がったものがこちら!






まずは年間




次に月間



グラフをクリックするとデイリー詳細に飛ぶようにしてます。

詳細には、

アクセスファイルTOP50、アクセスドメインTOP50、リファラーTOP50を表示してて、



こんな感じになります。

通常のページでは月間の詳細も表示しています。


グラフはhighchartsを使ってみました。

先程の月間からのクリックイベントの入れ方は、
series: {
 cursor: 'pointer',
  point: {
   events: {
    click: function () {
     var loc = "hoge.html";
     window.open(loc, "new");
    }
   }
  }
 }


こんな感じです。

デイリー詳細を別ウィンドウで見たかったので、window.openしてます。



ほんとはjava scriptの中にデータをカンマで作るのが嫌で、他のを使っていたんですが、

そっちはデザイン部分がかなりいけてないので、結局highchartsになりました。






そんなこんなでデイリーも取れて満足してます!

ソースは出しませんが、どうしてもって言うならzipにしてもいいんだからねっ!




気に入ったら押してね





~こんなアプリ出してます~

authored by Noraneko | Comment(0) | Web

CentOS7始めました Vol.3

2014/12/02 11:34:35
アベノミクスの恩恵受けすぎワロタwww

Noranekoです^ω^




アプリは絶不調ですが、投資の方が絶好調☆彡


Studio neko投資方法は、






『宵越しの銭はいらねぇ、利益を倍プッシュだ!』












...


......


ふえぇぇ...ジェントルドンナ...




ということで、前回から時間が空きましたが、今回はMTAについて語りましょう。


MTA(Message Transfer Agent)つまりメールサーバですね。



結論から申し上げると、




ぐーぐる






を使うのが楽です!

スペルミスとか、その辺のブログサイト見て間違った値を設定したりと

毎回思うけど、これは結構大変な作業ですね。

なので未来の自分の為に、今回は手順書も作成しました。



んで、CentOS7なんですが、標準MTAがPostfixになっています。

自分もだいぶ前からPostfixに慣れ親しんでいたので良いと思います。


設定の際にIPとか調べようとしたんですが、まさかifconfigまでないとか...
ifconfig
↓
ip a

netstat
↓
ss


短くなることは良いことです!


Postfixが標準になってるなら、Dovecotも入れとけよと思うんですが入ってませんね。

Dovecotのロゴはアウトドアグッズの会社っぽくて良いですね。

こんなん




SASL認証とかで必要な物とかも一緒にインスコしておきましょう!
// dovecotインストール
# yum install dovecot
// SASLインストール
# yum install cyrus-sasl
# yum install cyrus-sasl-md5
# yum install cyrus-sasl-plain

cyrus-sasl-md5がなくて認証がはじかれてました。

どなたかのブログに書いてあって助かりました。


後重要なのはポートの解放
// SMTP 
# firewall-cmd --add-service=smtp --permanent
// Submission
# firewall-cmd --add-port=587 --permanent
// POP3S 
# firewall-cmd --add-service=pop3s --permanent
// 再起動
# systemctl restart firewalld


serviceの名前があるやつとないやつがあって、Submissionはなかったので、

上記のようにポートを指定して開けます。



あとはまってたのが、






SELinux








つかこれ、みんな切ってるでしょ?


インスコした後に最初にこれ切ってるでしょ?



httpdとかDBに関してはこいつは特に悪さしてなかったので放置してたんですが、

Postfixでとうとう悪さをしてきたので、切りました!!
# setenforce 0
# vi /etc/sysconfig/selinux
SELINUX=permissive
# reboot

こんな感じで無効に。




最後にメールの送受信ができなかった時は、
# tail /var/log/maillog 


とにらめっこしながら、原因を追究するしかありません。。。。

SASLのエラーでは、

warning sasl authentication failure internal error ***

SELinuxでのエラーは、

fatal open /etc/postfix/main.cf permission denied

と出てました。


ほんとオラクルのエラーみたいにわかりやすくていいですね!

F*CK :)




P.S.

前回からのCentOS7についての記事ですが、

最小構成インストール時の初期設定の値を表記してます。




気に入ったら押してね





~こんなアプリ出してます~

authored by Noraneko | Comment(0) | Web

CentOS7始めました Vol.2

2014/10/06 15:48:18
台風一過でお日様きたあああああああ!

こんな日は家で構築したサーバに、ソフトインスコ作業に限りますね。


そんなわけで前回の続きになります。

インストールが終了し、再起動をすると



この画面になります。

そしたら、

$ su -⏎
Password 


パスワードと出たら前回入力したパスワードを打ち込んでrootになります!

パスワードとか忘れがちなので、自分の誕生日の数字4桁がオススメ☆

次はなんとなくアップデートしましょう!

# yum -y update⏎


-yを付けることによって画面を監視してなくても、

イエスマンでどんどん作業が捗るという魔法の呪文です。


■ MySQLをインスコしよう!

なんとCentOS7ではMySQLがなくなっています!

MySQLの代わりにMariaDBになったらしいです。

今のところ完全な互換性があり、

コマンドも使えるのでとりあえずは一安心です。

# yum -y install mariadb mariadb-server⏎


現在、5.5.37辺りがインスコされます。

それで今回のCentOS7ですが、

以前までのヴァージョンでは

# /etc/init.d/*** restart
# service *** start
# chkconfig


とサービス起動とかしてきましたが、

今回から、

// サービスの状態
# systemctl status ***
// サービス再起動
# systemctl restart ***
// サービス設定再読み込み
# systemctl reload ***
// サービス自動起動登録
# systemctl enable ***


という風にsystemctlでなんかしろって言われますね。

なので、

# systemctl start mariadb⏎
# systemctl enable mariadb⏎


として起動させます。

そしたらあとは、以前のMySQL設定と一緒です

// 初期化
# mysql_secure_installation
// とりあえず入ってみる
# mysql -u root -p


ここまできたらokです。

あと、自分はDBのデータをコマンドで見たり、

webでツールで見たりするのは作業効率が非常に悪いと思っており、

常にツールを使ってデータを見ています。

今回のこのMariaDBもMySQLWorkbenchで繋げることができたので、

ご紹介しておきます。

http://www-jp.mysql.com/products/workbench/

上のリンクからダウンロードできます。

最新のMySQLWorkbench 6.2で確認しました。

話がちょっと飛びますが、このツールを使う際に3306を開けるのでなく、

SSHでトンネリングして使います。



起動したら、こういう画面になります。

この画像ではすでに4つの接続先が登録されています。

接続先を登録するには左上の『+』を押します。



このウィンドウが表示されるので、

[Connection Method] [Standard TCP/IP over SSH]に変更

[SSH Hostname] SSHの接続先(IPとポート番号等)

[SSH Username] SSHのユーザ

[SSH Key File] 秘密鍵がある場合は参照します

[Username] MriaDBに繋ぐMariaDBユーザ

入力後、右下の『Test Connection』を押して接続できるか確認しましょう。

無事接続できたらDBについては終わりにしましょう。


■ phpをインスコしよう!

世界にはいろんな言語がありますが、自分の好きな言語でおk

ただ、フレームワーク系の言語やオブジェクト指向言語を

webで使うのはオススメできません。

テキストボックス一個追加するだけなのに

3、4個のファイルを変更するとかちょっとね…

asp.netの話になるんですがasp.netのポストバックの考えは好きですね。




ってフレームワーク系やん!!!!



言語じゃなくて考え方です><

自分は仕事でいろんなサイトを作ってきましたが、

仕様変更しつつ運用するというのがweb開発では重要なので、

1ページ1ファイル(表示と処理)という考えに行きついています。

この辺の話は長くなりそうだし、相容れないプログラマの聖域なので

自分の好きな言語で好きな書き方で作ればいいんですよ。


ということで、phpをインスコしましょう。

# yum -y install php php-gd php-mbstring php-mysql


最低限これだけあればおkですね。

ヴァージョンは5.4.16です。

そんで依存関係で勝手にhttpdもインスコされています。

ひどい話です。



が、久々にhttpdでもええかなって。

ということでhttpdを使いましょう!

多分すでに動いていると思いますが、

# systemctl start httpd⏎
# systemctl enable httpd⏎


と設定しましょう。

ちなみにヴァージョンは2.4.6でした。

で鯖のurlを叩きましょう。







ほら、見えない!!







多分ですが見えないはずです。

だってポート空いてないから。

なのでiptableしましょう。



……

…………



command not found




そうなのです。

CentOS7はここも違うのです。

// 現在の状態をみます
# firewall-cmd --list-services⏎
// ポート追加します
# firewall-cmd --add-service=http --permanent⏎

という風にfirewall-cmdしましょう。

--permanentというのを付けないと再起動した時に、

せっかく空けたポートが閉じていたので多分必要です。


これでもう一度鯖のURLを叩いて確認しましょう。

多分見えるはずです!

あとはapachのconfとかユーザとか整理するだけですね。


最後にEPELリポジトリの追加を

# yum install epel-release⏎


これはちょっと便利ですね。


長くなりましたが、CentOS7はちょこちょこ変わってます。

いろんなブログを見て、比較して構築することをオススメだょ!




気に入ったら押してね





~こんなアプリ出してます~

authored by Noraneko | Comment(0) | Web
1 2 3 4 
BLOG内検索
<< 2019/10 >>
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31