no marked region found along edge
Android Studioを使っていて、表題のエラーが出てビルドできない時があります。
9patchを使って作っていても、エラーが出る時があるので、その時は9patchで画像を作り直しましょう。
Android Studioを使っていて、表題のエラーが出てビルドできない時があります。
9patchを使って作っていても、エラーが出る時があるので、その時は9patchで画像を作り直しましょう。
Apache .htaccess でURLを書き換えで書いたように、.htaccessにmod_rewriteの指定を書くことで、動的なURLも静的なURLに見せかけることができます。
複数のパラメーターがある時はどうでしょう。
たとえば
http://hogehoge.jp/index.php?action=search&prefecture=1
というURLを
http://hogehoge.jp/search?prefecture=1
としたいのであれば、Apache .htaccess でURLを書き換えで書いた.htaccessの書き換えルールの末尾を変えて
RewriteRule ^([0-9a-zA-Z_/-]+)$ index.php?action=$1 [QSA,PT]
とします。
[QSA]は、「Query String Append」の略で、引数をつけたいときに使うフラグだそうです。
(By http://d.hatena.ne.jp/hato_mune/20080928/1222569429)
でもどうせだったら
http://hogehoge.jp/search?prefecture=1
じゃなくって、全部静的にしたいじゃないですか。
http://hogehoge.jp/search/prefecture/1
みたいに。
そのためには.htaccessに
RewriteRule ^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)$ index.php?action=$1&$2=$3 [QSA,PT]
と書いておきます。
これで、ユーザーがアクセスする静的なURL
http://hogehoge.jp/search/prefecture/1
は実際には
http://hogehoge.jp/index.php?action=search&prefecture=1
にアクセスしていることになります。
パラメーターが増える場合は、rewrite ruleの正規表現とパラメーターを増やして
RewriteRule ^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)$ index.php?action=$1/$2&$3=$4 [QSA,PT]
などとします。
mod_rewrite難しい~
もっとスマートなやり方があれば、教えてください。
mod_rewriteのRewriteRuleではクエリーストリングの内容を条件にしたルールを記述することはできません。クエリーストリングの内容を条件にしたい場合は、RewriteCond %{QUERY_STRING}を使います。
以下は、クエリーストリングがparam=sslで始まる場合にHTTPSにリダイレクトする例です。
RewriteEngine On RewriteCond %{SERVER_PORT} ^443$ RewriteCond %{QUERY_STRING} ^param=ssl RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R]
pdoでlimitをbindParamで設定しようとするとsyntaxエラーがでることがある。
原因はパラメータは文字列で渡されるためで、数値で必要な場合はbindParamで明示的にint型と言う必要がある。
これは単純に引数に数値型を渡してもだめ。
$limit = 10;
$query = ‘SELECT * FROM `table` LIMIT ?’;
$statement= $dbh->prepare( $query );
$statement->bindParam( 1, $limit, PDO::PARAM_INT );
$statement->execute();
また
Cannot pass parameter 2 by reference
当エラーはパラメータは変数じゃないとダメで、定数や値をそのまま入れた場合に発生する。定数や値をそのまま利用する場合はbindする必要ないかもしれないが、一旦変数に入れないといけない
Mapbox]]ではいろんなことができますが、[[Mapbox Studioで地図がカスタムできたり、地図上にマーカーやポリゴン、線が勝手に引けるのもMapboxの魅力の一つです。
ここでは、MapboxStudio マーカーを置くで作ったような、マーカーやポリゴンの情報を、ではMapbox GLを実装したWeb地図で、どのように取得するかを書いておきます。
(落とし穴もあったので…)
まず、ポリゴンやマーカーの位置情報は、基本的にDatasetsというものの中に入っています。
このわかりにくい、Mapbox API DocumentationのDatasetsを見てみましょう…。
https://www.mapbox.com/api-documentation/#datasets
まずですねー、
"https://api.mapbox.com/datasets/v1/{username}?access_token=your-access-token"
でDatasetsのリストが取得できると書いてありますが、やってみると、Not foundになります…。
めげずに!!
datasetを指定して、取得する、というのをやってみます。
“https://api.mapbox.com/datasets/v1/{username}/{dataset_id}?access_token=your-access-token”
ここで、2つ目の罠が!
このdataset_idというのは、Mapbox Studioの中の、Datasetの画面の次の部分に書かれています。
最初、名前とかかと思ってたw
&ref(dataset_id.png);
すると、レスポンスがJSONで帰ってきます。
全体的なサンプルコードを掲載しておきます。
function getDatasets(){ var dataset_id = "hogehoge"; var url ="https://api.mapbox.com/datasets/v1/hogehogecompany/" + dataset_id + "?access_token=" + mapboxgl.accessToken; var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var result = JSON.parse(xmlhttp.responseText); }else{ $("#result").text("指定のデータは存在しません"); } } xmlhttp.open("GET", url, true); xmlhttp.send(); }