如何在屏幕上显示数据并刷新数据?

时间:2020-08-25 09:02:50

标签: c# xamarin xamarin.forms xamarin.android maps

我使用Xamarin.Forms.Maps并显示我的位置和汽车在范围内。我每5秒向数据库发送一次请求,以获取有关坐标的信息。如何显示地图上的图钉,并在5秒钟后用地图上的新坐标刷新此图钉? 我的代码在这里,但是不起作用。

function woocommerce_ajax_add_to_cart() {
    ob_start();
    
    if ( !isset( $_POST[ 'product_id' ] ) ) {
        return;
    }
    $found = false;
    $base = true;
    if ( $base ) { /** Your condition here **/
        // If there was an error adding to the cart, redirect to the product page to show any errors.
        $data = array(
            'error' => true,
            'product_url' => apply_filters( 'woocommerce_cart_redirect_after_error', get_permalink( $product_id ), $product_id ),
        );

        wp_send_json( $data );
    }else{
        if ( sizeof( WC()->cart->get_cart() ) > 0 ) { //check if product already in cart
            foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
                $_product = $values['data'];
                if ( $_product->id == $product_id )
                    $found = true;
            }
            if ( ! $found ){ // if product not found, add it
                    WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variation );
            }
        } else {
            WC()->cart->add_to_cart(  $product_id, $quantity, $variation_id, $variation ); // if no products in cart, add it
        }
    } 
}
add_action( 'woocommerce_add_to_cart', 'woocommerce_ajax_add_to_cart' );

我的方法不起作用

function woocommerce_ajax_add_to_cart() {
    ob_start();
    
    if ( !isset( $_POST[ 'product_id' ] ) ) {
        return;
    }
    $found = false;
    $base = true;
        if ( sizeof( WC()->cart->get_cart() ) > 0 ) { //check if product already in cart
            foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
                $_product = $values['data'];
                if ( $_product->id == $product_id )
                    $found = true;
            }
            if ( ! $found ){ // if product not found, add it
                if ( $base ) { /** Your condition here **/
                    $data = array(
                        'error' => true,
                        'product_url' => apply_filters( 'woocommerce_cart_redirect_after_error', get_permalink( $product_id ), $product_id ),
                    );
                    wp_send_json( $data );
                }else{
                    WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variation );
                }
            }
        } else {
            WC()->cart->add_to_cart(  $product_id, $quantity, $variation_id, $variation ); // if no products in cart, add it
        }
}
add_action( 'woocommerce_add_to_cart', 'woocommerce_ajax_add_to_cart' );

1 个答案:

答案 0 :(得分:1)

在Xamarin中,最好使用 Device.StartTimer

Device.StartTimer(TimeSpan.FromSeconds(5),()=> {

     RotateCars();

     return true;
});