1

会社の Web サイトをスクレイピングして、小売店の場所の座標を取得しようとしています。取得している結果を使用可能なものに変換する方法を理解する必要があります。

目的のエリアを指定して検索リクエストを送信すると、場所がすべて Navteq マップにプロットされたページが返されます。彼らが使用している座標系を理解するのに運がありません。

たとえば、SE の 100 km ストックホルム内の場所を探すと、次のような結果が得られます。

<script type="text/javascript">

    function setActionsMapAfterTimer() {

    clearInterval(timerSetMapAfterDomReady);

    if(!document.getElementById("mapArea"))
        return;

    eplatform.map.init({containerId:"mapArea", onReady: function(map) {

    dealocMap = map;

    var centerBubble = [
        '<div style="padding:0;margin:0;font-size:11px;">',
        '<table>',
        '<tr>',
        '<td style="padding-left:5px;"><b style="font-size: 11px;">stockholm</b></td>',
        '</tr>',
        '</table>',
        '</div>'
    ].join('');

    dealocMap.setCenterLocation(3559.9378979999997, 1083.776436,  100000.0);
    dealocMap.addMarker(3559.9378979999997, 1083.776436,   {bubbleInfos: centerBubble});

そして初ロケへ…

    var dealerBubble = [
        '<div style="padding:0;margin:0;">',
        '<table>',
        '<tr>',
        '<td><img src="/img/dealers/ICON.gif " /> </td>',
        '<td style="padding-left:5px;padding-top:7px;"><b style="font-size: 11px;">Name</b></td>',
        '</tr>',
        '</table>',
        '</div>',
        '<div style="padding:0;margin:0;padding-top:5px;padding-bottom:5px;">',
        '<div>',
        '<p style="padding:0;margin:0;">  </p>',
        '<p style="padding:0;margin:0;">Address</p>',
        '<p style="padding:0;margin:0;"></p>',
        '<p style="padding:0;margin:0;">Locality</p>',
        '</div>',
        '<p style="padding:0;margin:0;"><b>Tel.:</b> </p>',
        '<p style="padding:0;margin:0;"><b>Fax:</b> </p>',
        '</div>'
    ].join('');

    dealocMap.addMarker(3549.89404296875 , 1089.7158203125, { bubbleInfos: dealerBubble, icon: "/img/dealers/ICON.gif" });

など、最後まで:

        }
        });

    }

    var timerSetMapAfterDomReady;

    window.addEvent('domready', function() {

        timerSetMapAfterDomReady=setInterval("setActionsMapAfterTimer()", 600);

    });

    /**
    * Keep compatibility with dealoc_content.jsp
     */
    function centerOnCoordinate(longitude, latitude, radius) {
        dealocMap.setCenterLocation(latitude, longitude, radius / 2.5);
    }

</script>

この場合、マップは (59.332271,18.062961) を中心として開始され、リストされている場所は (59.1649,18.16193) ですが、それらを変換する方法はまだわかりません。住所をもう一度ジオコーディングすることはできましたが、試した住所は必ずしもページの内容ほど正確ではありませんでした。

何か案は?ありがとう!

4

0 に答える 0