0

私はコードのこの部分を持っています。テキストボックス内のテキストが変更されたときにマーカーを配置したい-関数changeValue()で動作-新しいアドレスを取得します。

次に、アドレス変数が変化するときに、このマーカーを置きたいと思います。それをどうする?

以下のコードを試してみましたが、次のエラーが表示 されます。Error: ReferenceError: changeValue is not defined 何が問題なのですか?

     (...)
    <asp:TextBox Style="width: 300px;" runat="server" ID="tbStreet" onchange="changeValue()"></asp:TextBox>
     (...) // more 5 textboxes

   <script type='text/javascript'>
          (...) // 2 long string arrays.

        var address;
        function mapaStart() {
            var wspolrzedne = new google.maps.LatLng(52.22105994970536, 19.22609921875007);
            var opcjeMapy = {
                zoom: 5,
                center: wspolrzedne,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById("mapka"), opcjeMapy);


        function changeValue() {

            var ulica;
            var miasto;
            var woj1;
            var panstwo1;
            ulica = document.getElementById("<%=tbStreet.ClientID%>").value;
            miasto = document.getElementById("<%=tbCity.ClientID%>").value;
            woj1 = woj[document.getElementById("<%=ddlProvince.ClientID%>").value];
            panstwo1 = panstwa[document.getElementById("<%=ddlCountry.ClientID%>").value];
            address = panstwo1 + ", " + woj1 + ", " + miasto + ", " + ulica;
            alert(address);
        }   
            var geokoder = new google.maps.Geocoder();
            map.setCenter(address.geometry.location);
            var marker = new google.maps.Marker(
                {
                    map: map,
                    position: address.geometry.location,
                }
            );

        } 

    </script>
4

1 に答える 1

0

changeValue 関数は mapaStart 関数に対してローカルです。HTML クリック/オンチェンジ リスナーが実行されるグローバル コンテキストではアクセスできません。グローバルにするには、mapaStart 関数の外に移動します。

于 2012-08-02T13:33:03.940 に答える