みんな。簡単な紹介をさせてください。
例: 私のマップサーバーはCGIモードを使用しています。という名前のシェープファイルが'us_states.shp'あり、その中に列'state_name'があります。正しい'.map'ファイルと'.html'テンプレートを作成した場合、「フォーム」タグのマップ イメージをクリックすると、米国の州の特定の名前が表示されるはずです。なぜこれが起こることができますか?「.html」テンプレートには文字列[state_name]があるためです。
ここで、いくつかの変更を加えます。
- 空間データはpostgreSQLデータベースにあり、という名前の列もあります
'state_name'。 - PHPを使用してクエリ マップを表示しています。
では、どうすれば の値を取得できます'state_name'か? クリックされた状態の色を変更するには?
私の進捗率:
- を。postgreSQL を使用して「.map」ファイルから元のマップ イメージを表示できます。また、イメージ内のすべての州の名前も表示できます。
- b. 単純な
'QUERYMAP'段落が「.map」ファイルに既に存在します。 - c. これらのコードを「.php」ファイルに追加しました。
$point->setXY($img_x, $img_y);
$map->queryByPoint($point, 'MS_SINGLE', -1);
$image=$map->drawQuery();
ただし、まず、画像の座標はデータベースの座標ではなく、データベースの座標も緯度または経度ではありません! それらを変換する必要がありますか?第二に、メソッド'queryByPoint'は状態名を取得できませんでした。使用する必要があります'queryByAttributes'か? それの使い方?
わからない... 本当にわからない... 助けてください。